ข้ามไปเนื้อหา

ตัวให้แสงเงา

จากวิกิพีเดีย สารานุกรมเสรี

ตัวให้แสงเงา หรือ เชดเดอร์ (shader) เป็นโปรแกรมคอมพิวเตอร์สำหรับการให้แสงเงาใน คอมพิวเตอร์กราฟิกส์สามมิติ

ภาพรวม

[แก้]

ในคอมพิวเตอร์กราฟิกส์สามมิติซึ่งแสดงวัตถุในลักษณะที่เป็นกลุ่มก้อนของสามเหลี่ยมนั้น การคำนวณภาพเคลื่อนไหวและฟิสิกส์เพื่อสร้างภาพที่ให้เรามองเห็นนั้นเรียกว่าการเร็นเดอร์ การเรนเดอร์นั้นเป็นกระบวนการต่าง ๆ ที่ประกอบไปด้วยหลายขั้นตอน โดยตัวให้แสงเงานั้นก็เป็นองค์ประกอบหนึ่งของการเร็นเดอร์

ตัวให้แสงเงาอาจเขียนขึ้นโดยใช้ภาษาการให้แสงเงา จุดยอดและพิกเซลถูกกำหนดจากค่าป้อนเข้าและป้อนออกของโปรแกรมในการประมวลผลตามที่ต้องการ รวมถึงการแปลงพิกัด/เทกซ์เจอร์แมปปิง/การจัดแสง เป็นต้น ขณะที่ทำการเร็นเดอร์ โปรแกรมตัวให้แสงเงามักจะถูกส่งต่อไปยัง GPU และเรียกใช้จุดยอดหรือส่วนประกอบย่อยไปแบบคู่ขนานกันเพื่อสร้างเป็นภาพกราฟิกส์สามมิติขึ้นมา

ตัวให้แสงเงาเป็นโปรแกรม ดังนั้น จึงสามารถทำอะไรก็ได้ที่ภาษาการให้แสงเงาและสภาพแวดล้อมการทำงานจะเอื้ออำนวย ตัวอย่างเช่น เป็นไปได้ที่จะละทิ้งข้อมูลสีทั้งหมดที่มีอยู่ในอินพุตในการให้แสงเงาพิกเซล และให้เป็นพิกเซลสีดำสนิท หรือเป็นไปได้ที่จะเขียนอัลกอริธึมการจัดแสงใหม่ตามการวิจัยล่าสุด เนื้อหาที่อธิบายไว้ในตัวให้แสงเงาจะแตกต่างกันไปตามการใช้งาน (เช่น แบบเวลาจริงหรือสำหรับผลิตภัณฑ์ แบบสมจริงหรือสำหรับทำแอนิเมชัน) และภาพที่ได้ก็จะต่างกันไป