การให้แสงเงา

การให้แสงเงา (shading) เป็นเทคนิคการแสดงแสงและเงาในสามมิติโดยการตัดแสงและความมืดในคอมพิวเตอร์กราฟิกส์สามมิติ หรือการวาดภาพประกอบ สำหรับในทางจิตรกรรม อาจเรียกอีกอย่างว่า การแรเงา (shadowing)
เทคนิคการวาดภาพ.
ในการวาดภาพบนกระดาษ การให้แสงเงาเมื่อวาดแสดงภาพสามมิติทำโดยใช้วัสดุสีเข้มสำหรับพื้นที่มืดและวัสดุสีอ่อนสำหรับพื้นที่สว่าง เทคนิคการให้แสงเงาประกอบด้วยการแรเส้นเงา โดยวาดเส้นจำนวนมากที่ตัดกันเป็นมุมฉากในช่วงต่าง ๆ กันเพื่อแสดงเงา พื้นที่ที่ช่วงระหว่างเส้นแคบกว่าจะกลายเป็นพื้นที่เงาเข้ม ในทำนองเดียวกัน ส่วนที่มีระยะห่างระหว่างเส้นกว้างจะกลายเป็นส่วนที่สว่าง
การวาดภาพโดยคำนึงถึงการให้แสงเงาทำให้สามารถวาดภาพที่มองดูแล้วมีความลึกลงบนกระดาษได้
คอมพิวเตอร์กราฟิกส์.
การให้แสงเงาในทางคอมพิวเตอร์กราฟิกส์ หมายถึงกระบวนการปรับสีโดยคำนึงถึงมุมของแสงและระยะห่างจากแหล่งกำเนิดแสงเพื่อให้ได้ภาพที่เหมือนจริง การให้แสงเงาเป็นส่วนหนึ่งของกระบวนการเร็นเดอร์
ตัวอย่างง่าย ๆ.
การให้แสงเงาจะเปลี่ยนสีพื้นผิวของแบบจำลอง 3 มิติตามมุมที่ลำแสงตัดกับพื้นผิวนั้น
ด้านซ้ายของภาพด้านล่างแสดงทรงสี่เหลี่ยม ซึ่งทุกด้านวาดด้วยสีเดียวกัน เนื่องจากโครงร่างของพื้นผิวถูกวาดด้วยสีที่ต่างกัน จึงเข้าใจได้ง่ายว่าเป็นรูปทรงสี่เหลี่ยม ภาพกลางแสดงแบบจำลองเดียวกันและสีเดียวกันทุกด้าน แต่เนื่องจากไม่ได้วาดโครงร่าง จึงเป็นการยากที่จะมองเห็นขอบเขตระหว่างพื้นผิว จึงไม่รู้สึกถึงความเป็นสามมิติ ในขณะที่ภาพด้านขวามีการให้แสงเงา ทำให้แยกแยะแต่ละด้านได้สมจริง แม้ว่าจะไม่มีการวาดเส้นโครงร่าง
แหล่งกำเนิดแสง.
การให้แสงเงาในคอมพิวเตอร์กราฟิกส์สามมิติจะใช้แหล่งกำเนิดแสงชนิดต่าง ๆ กันไป เช่น:
การให้แสงเงาจะทำการประมาณในช่วงตามมุมของแหล่งกำเนิดแสงเหล่านี้และพื้นผิวของวัตถุ แน่นอนว่าโดยทั่วไปแล้วมักมีแหล่งกำเนิดแสงหลายแหล่งภายในฉากเดียว ตัวเรนเดอร์จะทำการประมาณค่าในช่วงจากองค์ประกอบของรังสีจากหลายแหล่งและสร้างภาพสองมิติตามที่ควรเป็น
การลดทอนตามระยะทาง.
ตามทฤษฎีแล้ว เมื่อพิจารณาจากพื้นผิวสองด้านที่ขนานกัน ความส่องสว่างของแสงจากแหล่งกำเนิดแสงที่อยู่ไกลออกไป เช่น แสงอาทิตย์ จะเท่ากัน แม้ด้านใดด้านหนึ่งจะอยู่ไกลออกไป แต่ความสว่างก็จะเท่ากัน
ภาพด้านล่างแสดงการให้แสงเงาของทรงสี่เหลี่ยมสองลูกที่ส่องสว่างจากแหล่งกำเนิดแสงที่แตกต่างกัน ในภาพด้านซ้าย ทรงสี่เหลี่ยมทั้งสองมีสีในแต่ละด้านเหมือนกัน ในภาพด้านขวา ด้านหน้าของทรงสี่เหลี่ยมด้านหน้าจะสว่างกว่าเล็กน้อย ส่วนความสว่างบนพื้นนั้น ยิ่งใกล้มากเท่าไหร่ก็ยิ่งสว่างมากขึ้นเท่านั้น แหล่งกำเนิดแสงในภาพด้านขวาถูกตั้งค่าเพื่อให้ลำแสงอ่อนลงเมื่อระยะห่างจากแหล่งกำเนิดแสงเพิ่มขึ้น สิ่งนี้เรียกว่า "การลดทอนตามระยะทาง" (distance falloff หรือ distance attenuation) และส่งผลให้ได้ภาพที่สมจริงยิ่งขึ้นโดยไม่ต้องเพิ่มแหล่งกำเนิดแสง
มีหลายวิธีในการคำนวณการลดทอนของแสงตามระยะทาง
การให้แสงเงาแบบเรียบ.
การให้แสงเงาแบบเรียบ (flat shading) เป็นเทคนิคการจัดแสงแบบหนึ่งในคอมพิวเตอร์กราฟิกส์สามมิติ การให้แสงเงาจะทำกับแต่ละพื้นผิวตามมุมระหว่างเวกเตอร์แนวฉากของโพลีกอนที่ประกอบกันเป็นวัตถุและทิศทางของแหล่งกำเนิดแสง และสีจะถูกกำหนดตามความเข้มของแสงที่ส่องสว่างพื้นผิวโพลีกอน วิธีนี้มักใช้เมื่อต้องการทำการเร็นเดอร์ด้วยความเร็วสูง เช่น ระบบประมวลผลแบบเรียลไทม์ ซึ่งไม่เหมาะจะใช้เทคนิคการให้แสงเงาขั้นสูงกว่านี้ อย่างไรก็ตาม เมื่อเทคโนโลยีหน่วยประมวลผลกราฟิกส์ได้พัฒนาขึ้น จึงสามารถทำการให้แสงเงาอย่างรวดเร็วและราบรื่นแม้ในผลิตภัณฑ์ระดับล่างและอุปกรณ์เคลื่อนที่ การนำเทคนิคให้แสงเงาแบบเรียบมาใช้เพื่อเหตุผลด้านประสิทธิภาพจึงลดน้อยลงไป
ข้อเสียของการให้แสงเงาแบบเรียบคือแม้ว่าจะต้องการแสดงพื้นผิวโค้งเรียบ แต่ก็อาจดูเหมือนระนาบเล็ก ๆ เรียงกัน แต่ในทางกลับกัน หากต้องการวาดวัตถุที่เป็นเหลี่ยม ๆ วิธีการนี้อาจใช้ได้ดี ในการสร้างงานแบบโซลิดโมเดลิง มักใช้การให้แสงเงาแบบเรียบเนื่องจากมองเห็นรูปร่างได้ง่าย เทคนิคการให้แสงเงาเหมือนจริงขั้นสูงกว่านั้น ได้แก่ การให้แสงเงาแบบกูโร และ การให้แสงเงาแบบฟ็อง เทคนิคการให้แสงเงาที่ไม่สมจริง ได้แก่ การให้แสงเงาแบบเซล เช่น เซลแอนิเมชัน ซึ่งการไล่ระดับสีจะเปลี่ยนไป