เป็นการดีที่สุดที่จะทำให้สิ่งต่าง ๆ เรียบง่ายที่สุดเท่าที่จะทำได้ การทำซ้ำ shader เดียวกันสำหรับทุกวัตถุนั้นไม่จำเป็นและจะทำให้บวมอย่างรวดเร็ว นอกจากนี้คุณยังไม่ต้องการ shader ยักษ์ตัวหนึ่งที่ครอบคลุมทุกกรณีการใช้งานที่เป็นไปได้
มีความคิดเห็นหลายประการเกี่ยวกับการจัดการ Shader และไม่มีวิธี "ดีที่สุด" ในการเข้าถึง ฉันเคยเห็นการใช้งาน Shader บางอย่างที่ทุก Shader ถูกสร้างขึ้นตามการบินตามพารามิเตอร์ (เช่นในUnreal engine )
สำหรับใครบางคนที่เพิ่งเริ่มต้นในพื้นที่นี้มันอาจเป็นการดีถ้าคุณจะดึงดินสอพื้นฐานออกมาก่อน ตัวอย่างเช่นฉันมี shader สำหรับวัตถุที่ไม่มีพื้นผิว, shader ที่มีพื้นผิวพื้นฐานและการสนับสนุนแสงต่อพิกเซล ฯลฯ ... จากนั้นทุกครั้งที่ฉันต้องการผลที่แตกต่างที่ไม่สามารถทำได้โดยใช้ shader ก่อนหน้านั้นฉันจะ จะสร้างขึ้นใหม่สำหรับผลใหม่
จุดประสงค์ของระบบดังกล่าวคือการทำให้สิ่งต่าง ๆ ง่ายขึ้น แค่. เก็บไว้. มัน. ง่าย