3 คะแนน โดย GN⁺ 2024-04-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ทำความเข้าใจ Ray Tracing ผ่านสเปกตรัม

คำอธิบายพื้นฐานว่าทำไมความยาวคลื่นจึงสำคัญใน ray tracing และ spectral ray tracing ส่งผลต่อศิลปะคอมพิวเตอร์อย่างไร

Ray Tracing

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

มองแบบสเปกตรัม

  • สีที่เราเห็นแทบไม่เคยประกอบด้วยความยาวคลื่นเดี่ยว แต่ประกอบด้วย SPD (spectral power distribution) ซึ่งเป็นชุดของหลายความยาวคลื่น
  • สีเดียวกันอาจสอดคล้องกับ SPD ได้หลายแบบ (metamerism)
    • เช่น สีเหลืองสอดคล้องกับความยาวคลื่น 580nm แต่ก็สร้างขึ้นใหม่ได้ด้วยการผสมแสงสีแดงและสีเขียว
  • การแปลงจาก SPD ไปเป็นสีสามารถทำได้ด้วยคณิตศาสตร์ล้วน ๆ (ปริภูมิสี CIE 1931)
    • เป็นลิงก์เชิงปริมาณที่เชื่อมฟิสิกส์ สรีรวิทยา และประสบการณ์เชิงอัตวิสัยเข้าด้วยกัน

กรณีที่ความยาวคลื่นมีความสำคัญ

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

Spectral Ray Tracing และศิลปะคอมพิวเตอร์

  • ray tracing ที่คำนึงถึงคุณสมบัติแบบคลื่นของลำแสง
  • แทนที่จะใช้สี RGB จะสร้าง SPD สำหรับทุกพิกเซลของฉาก และใช้ความยาวคลื่นกับเฟสของลำแสงเพื่อทำนายสีได้ดีขึ้น
  • ทำให้เกิดความอยากรู้อยากเห็นว่าจะเกิดอะไรขึ้นเมื่อจงใจทำลายกฎบางอย่างที่ควบคุมการเคลื่อนที่ของแสง
    • สร้างกล้องด้วยโค้ดในจักรวาลที่ต่างจากโลกของเราเล็กน้อย
  • แนะนำผลงานที่สร้างขึ้นโดยใช้ spectral ray tracer ที่เขียนด้วย JavaScript และ GLSL

ความเห็นของ GN⁺

  • อธิบายปรากฏการณ์ทางฟิสิกส์ที่ต้องพิจารณาเพื่อการเรนเดอร์ที่สมจริงในคอมพิวเตอร์กราฟิกได้ดี
    • โดยเฉพาะส่วนที่อธิบายเชื่อมโยงกับวิธีที่ดวงตาของเรารับรู้สีนั้นน่าประทับใจ
  • ดีที่มีการแสดงตัวอย่างการนำไปใช้จริงในการสร้างงานศิลปะ ทำให้เห็นว่าเนื้อหาเชิงทฤษฎีถูกนำไปประยุกต์ใช้อย่างไร
    • น่าสนใจที่มีการดัดแปลงวิธี ray tracing เพื่อสร้างภาพที่ไม่สมจริงแต่สวยงาม
  • นอกจากการจำลองเชิงแสงแล้ว เทคโนโลยี spectral ray tracing น่าจะนำไปใช้ได้ในหลายสาขา เช่น การทำภาพข้อมูลเชิงวิทยาศาสตร์, VR/AR, CG ภาพยนตร์ เป็นต้น
  • เมื่อเทคโนโลยีการเรนเดอร์ที่ใช้ deep learning พัฒนาขึ้น ก็มีความพยายามอย่างต่อเนื่องที่จะก้าวข้ามข้อจำกัดของ ray tracing แบบดั้งเดิม
    • น่าคาดหวังว่าในอนาคตจะมีเทคโนโลยีการเรนเดอร์ที่พลิกวงการแบบใดเกิดขึ้นอีก

1 ความคิดเห็น

 
GN⁺ 2024-04-16
ความคิดเห็นจาก Hacker News
  • หนังสืออิเล็กทรอนิกส์ฟรี "Ray Tracing Gems II" กล่าวถึงการทำ real-time GPU ray tracing โดยใช้ API สมัยใหม่และการเร่งความเร็วด้วยฮาร์ดแวร์ และมีบทเกี่ยวกับ spectral rendering (Chapter 42: Efficient spectral rendering on the GPU for predictive rendering)
  • มีการยกตัวอย่าง spectral ray tracer เช่น Mitsuba, Maxwell และ Manuka ของ Wētā FX
    • Mitsuba: เรนเดอเรอร์วิจัยแบบโอเพนซอร์ส มีฟีเจอร์หลากหลาย เช่น differentiable rendering
    • Maxwell: มี spectral mode สองแบบที่ให้ความแม่นยำต่างกัน โดยแบบที่ซับซ้อนกว่ามักใช้ในงาน optics
    • Manuka: ใช้แนวทางแบบ spectral และถูกนำไปใช้ในภาพยนตร์หลายเรื่อง
  • ความเห็นของผู้เขียนต้นฉบับ:
    • spectral rendering เป็นตัวอย่างที่แสดงให้เห็นว่า ray tracing เองไม่ใช่จุดสิ้นสุดของการเรนเดอร์ แม้จะมีความเห็นว่าการเรนเดอร์ถูกแก้ปัญหาแล้วด้วย real-time ray tracing แต่จริง ๆ แล้วห่างไกลจากข้อเท็จจริง
    • ระบบ spectral rendering ส่วนใหญ่ไม่ได้รองรับ thin-film interference หรือเอฟเฟกต์แบบอาศัยคลื่นอื่น ๆ โลกความเป็นจริงมีรายละเอียดมากอย่างน่าทึ่ง
  • ข้อเสนอเรื่องการสร้างภาพ hyperspectral (มากกว่า 3 ช่องสัญญาณ):
    • สามารถเน้นสเปกตรัมเพื่อนำไปใช้สอนเรื่องสีสำหรับเด็กได้
    • ภาพและกล้อง hyperspectral นั้นหายากและโดยดั้งเดิมมีราคาแพง แต่สามารถแทนที่ได้ด้วยภาพสังเคราะห์
    • อาจทำ renderer ในเบราว์เซอร์ที่ความละเอียดต่ำมากเพื่อให้ปรับแสงและวัสดุแบบอินเทอร์แอ็กทีฟได้
    • สามารถเรนเดอร์จากมุมมองของผู้มีการรับรู้สีผิดปกติ มนุษย์ที่มองเห็นถึง UV ได้หลังผ่าตัดต้อกระจก สัตว์เลี้ยงลูกด้วยนมที่ตาบอดสี หรือปลาคาร์ปสี่สี
  • การลองลงมือทำ ray tracing ด้วยตัวเองง่ายกว่าที่คิด มีการแนะนำหนังสือฟรีหรือทิวทอเรียล GPU ที่ใช้ Unity
    • สามารถเล่นกับการทำงานพื้นฐานเพื่อสร้างสัญชาตญาณได้ (เช่น ทำให้แสงเป็นเหมือนอนุภาคที่ถูกดึงดูดหรือผลักโดยวัตถุ หรือจำมุมสะท้อนล่าสุดแล้วนำไปใช้กับวัสดุถัดไป)
    • ส่วนใหญ่ผลลัพธ์ดูไม่ค่อยดีนัก แต่ช่วยสร้างความเข้าใจเชิงสัญชาตญาณได้ และการขยับกล้องทีละนิดก็ช่วยได้เช่นกัน
  • สงสัยว่าเนื้อหาที่ถูกปรับแต่งเพื่อความสวยงามจะมีประโยชน์กับงาน visualization แบบอื่นด้วยหรือไม่
  • กำลังพยายามทำ refraction ใน distributed ray tracer
    • สุ่ม sample ความถี่ จากนั้นคำนวณสีและนำไป modulate สีของแสง
    • เนื่องจากสีหักเหล้วน ๆ มีความสว่างเพียง 1/3 จึงต้องคูณผลลัพธ์ด้วย 3
  • อยากรู้เพิ่มเติมเกี่ยวกับ artwork ที่แชร์ไว้ท้ายบทความ แนวคิดของการเรนเดอร์ความเป็นจริงที่แสงทำงานต่างจากโลกของเรานั้นน่าดึงดูดมาก
  • อยากเข้าใจว่าการโมเดล spectral distribution แทน RGB pixel ส่งผลต่อประสิทธิภาพของ ray tracing อย่างไร