“เรย์เทรซได้ไหม” คือ “รัน DOOM ได้ไหม” ใหม่!

การทำให้คอมพิวเตอร์ทำสิ่งที่ไม่เคยถูกออกแบบมาให้ทำได้นั้น ได้กลายเป็นศิลปะชนิดหนึ่งไปแล้วในช่วงหลายปีที่ผ่านมา มีชุมชนที่ยาวนานอย่าง demoscene ที่ทุ่มเทในการผลักดันขีดจำกัดของสิ่งที่เป็นไปได้ สร้างผลงานเวทมนตร์มากมาย ตั้งแต่ กราฟิกสีเต็มรูปแบบ บน Commodore VIC-20 ไปจนถึง แอนิเมชันความเร็วสูงสุดล้ำ บน ZX Spectrum

“เรย์เทรซได้ไหม” คือ “รัน DOOM ได้ไหม” ใหม่

หนึ่งในความสำเร็จที่น่าประทับใจที่สุดในช่วงหลังๆ คือการนำเรย์เทรซแบบเรียลไทม์มาทำงานบน อุปกรณ์ที่ไม่มีฮาร์ดแวร์เรย์เทรซ专用 ล่าสุด มีวิดีโอโผล่ขึ้นมาที่แสดงเรย์เทรซเรียลไทม์เต็มรูปแบบบน Sega Saturn คอนโซลยุค PS1 ที่ถูกลืมไปเกือบหมดของ Sega วิดีโอนี้เป็นผลงานของ XL2 ที่ถูกคอมเมนต์ใน YouTube เรียกว่า “เจ้าแห่ง Saturn” และนับเป็นเวทมนตร์ทางเทคนิคที่น่าทึ่งที่สุดที่อินเทอร์เน็ตเคยเห็นในรอบนาน

เรย์เทรซคืออะไร และทำไมถึงยากขนาดนี้?

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

วิธีนี้แม่นยำกว่าการคำนวณแสงแบบอื่นๆ จึงให้ผลลัพธ์สมจริงกว่า แต่แลกมาด้วยการใช้พลังประมวลผลมหาศาล การ์ดจอสมัยใหม่มีฮาร์ดแวร์เฉพาะทางสำหรับเรื่องนี้ และแม้กระนั้น การรัน Cyberpunk 2077 ที่ตั้งค่ากราฟิกสูงสุดพร้อมเรย์เทรซเต็มรูปแบบ ก็ยังเป็น การอวดรวย ที่ต้องจ่ายหลักพันดอลลาร์

Saturn มาจากยุคที่ฮาร์ดแวร์เร่งกราฟิกยังเป็นของแปลกใหม่ การ์ดจอ PC แรกอย่าง 3dfx Voodoo ยังอีก 2 ปีกว่าจะออก Saturn วางขายปลายปี 1994 แต่ Saturn สุดยอดเพราะมีฮาร์ดแวร์เร่งกราฟิกยุคแรกๆ: ชิปกราฟิก 2 ตัว ตัวนึงเรนเดอร์โพลีกอน อีกตัวจัดการพื้นหลังฉาก

ชิปเหล่านี้ทำให้ปล่อยเกม 3D อย่าง Virtua Fighter ได้ โมเดลแบนๆ ดูโบราณวันนี้ แต่ยุค 90s มันเจ๋งมาก จากโพลีกอนแบนๆ ไปสู่เงาและแสงแบบไดนามิกในเดโมของ XL2 นี่คือก้าวกระโดดใหญ่

นี่คือเหตุผลที่วิดีโอนี้น่าทึ่งสุดๆ XL2 อธิบายสั้นๆ ว่าทำยังไง: ใช้ binary space partitioning (BSP) ซึ่งแบ่งพื้นที่ฉากแบบ recursive เพื่อหาว่าออบเจ็กต์ไหนมองเห็นได้บ้าง (เทคนิคนี้ ดังจาก John Carmack ใน Quake engine สำหรับ collision detection) พวกเขายังบอกถึงการปรับปรุง เช่น รวมแสงคงที่กับแสงไดนามิก และปรับปรุง indirect lighting

สิ่งเหล่านี้เคยถูกมองว่าเป็นไปไม่ได้บน Saturn แต่开发者เก่งๆ มักบีบประสิทธิภาพจากฮาร์ดแวร์เก่าได้จนน่าตกใจ ในยุคที่ทุกคนถาม “รัน DOOM ได้ไหม” เพื่อทดสอบเครื่อง ตอนนี้ “เรย์เทรซได้ไหม” กำลังกลายเป็นมาตรฐานใหม่ แสดงถึงวิวัฒนาการของกราฟิกและความคิดสร้างสรรค์

ไม่ใช่แค่ Sega Saturn แต่ยังมีเดโมเรย์เทรซบนเครื่องอื่นๆ อย่าง ZX Spectrum หรือเครื่อง 8-bit อื่นๆ ที่พิสูจน์ว่าซอฟต์แวร์สามารถชดเชยฮาร์ดแวร์ได้ นี่คือพลังของ demoscene ที่ยังคงมีชีวิตชีวา

คุณล่ะ คิดว่า “เรย์เทรซได้ไหม” จะกลายเป็นมีมหลักถาวรไหม? ลองดูวิดีโอแล้วมาคุยกันในคอมเมนต์ด้านล่าง สนับสนุนนักพัฒนา indie และ retro gaming ต่อไป!

ที่มา – Is ‘Can It Do Raytracing’ the New ‘Can It Run DOOM’?

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *