สรุปสั้นๆ : Ray Tracing คืออะไร และทำไมถึงสำคัญกับ NVIDIA มาก ?


สรุปสั้นๆ : Ray Tracing คืออะไร และทำไมถึงสำคัญกับ NVIDIA มาก ?

รีวิวโดย : Ing Tangtawan

Professional Meat Beater

Font Size A A A

            มื่อไม่กี่วันที่ผ่านมาแน่นอนว่าเราทุกคนต้องเห็นข่าวการเปิดตัวของการ์ดจอ NVIDIA GeForce RTX ซึ่งจุดชูโรงก็คือการทำ Ray-Tracing แบบ Real-Time ที่ทาง NVIDIA โปรโมตเหลือเกินว่าสามารถทำประสิทธิภาพได้ดีมาก.. ซึ่งตรงนี้หลายๆคนอาจจะสงสัยว่าจริงๆแล้ว ไอ Ray Tracing เนี่ยมันคืออะไร มันดียังไง และทำไม NVIDIA ถึงใช้มันโปรโมตการ์ดจอรุ่นใหม่

ก่อนที่จะไปถึงจุดนั้นเราต้องเข้าใจถึงนิยามและการทำงานของ Ray-Tracing กันก่อน ... Content สมัยใหม่โดยเฉพาะทางภาพและภาพเคลื่อนไหวนั้นมีการใช้ Computer Generated Imagery (CGI) หรือแปลเป็นไทยก็คือ "ภาพที่ใช้คอมพิวเตอร์สร้างขึ้น" เพื่อเข้ามาช่วยในปัจจัยหลายๆอย่าง ไม่ว่าจะเป็นการเพิ่มอรรถรสของภาพยนต์ด้วยการสร้างฉากและสถานการณ์ที่ไม่สามารถเกิดขึ้นได้ในโลกความเป็นจริง หรือเกินขีดจำกัดของนักแสดงและอุปกรณ์ .. เมื่อคอมพิวเตอร์สามารถสร้างภาพที่คล้ายของจริงแล้วทีนี้ขีดจำกัดทางด้านฟิสิกส์ในโลกความจริงก็ไม่ใช่ปัญหาอีกต่อไป อะไรจะเกิดขึ้นก็ได้ทั้งนั้น ! ซึ่ง Computer Graphic นี้ก็เป็นเหมือนอีกอย่างนึงที่เข้ามาปฏิวัติวงการ Multimedia เลยก็ว่าได้ .. Computer Graphic เองก็มีวิวัฒนาการมาอย่างยาวนาน ก่อนที่จะมาเป็นยุคปัจจุบันที่ใช้กันอย่างแพร่หลาย จนตอนนี้มันล้ำมากและเราก็ต้องยอมรับว่าในภาพยนต์บางเรื่องนั้น มีการใช้ CGI ระดับสูง จนแม้กระทั่งเราก็แยกแทบไม่ออก หรือต้องใช้เวลาคิดแล้วว่าไอภาพที่เราเห็นอยู่บนจอเนี่ย มันเป็นภาพจริงๆ หรือภาพที่ถูกสร้างขึ้นโดยคอมพิวเตอร์กันแน่ ???? 

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

ถ้าใครศึกษาเกี่ยวกับแสงมาเบื้องต้นก็จะรู้ว่า สิ่งที่เราเห็นนั้นมันเกิดจากการสะท้อนและหักเหของแสงที่ตกกระทบกับวัตถุต่างๆ ก่อนที่จะมาเข้าสู่ตาเรา เพราะฉะนั้นหมายความว่าก่อนที่เราจะเห็นแสงเงาอะไรอย่างนึงนั้น มันผ่านและสะท้อนอะไรมาหลายอย่างแล้ว .. แต่ใน CGI รุ่นแรกอาจจะยังไม่มีการคิดคำนึงถึงตรงนี้ เงาที่ออกมาเลยดูแข็งไม่เนียนตา ภาพมันเลยดูไม่ค่อยสมจริง .. แต่ Ray Tracing นี่แหละ จะมาจำลองหลักการนี้เลยครับ โดยชื่อภาษาไทยของ Ray Tracing ก็คือ "การตามรอยของลำแสง" โดยระบบจะทำการคำนวนโดยอาศัยหลักการทางวิทยาศาสตร์อันนี้ ตรวจสอบย้อนรอยแสง และไล่ดูค่าความสว่างของวัตถุที่แสดงในแต่ละจุดภาพ ไปยังแหล่งกำเนิดของแสง (จุดเริ่มต้น) ทำให้การแสดงผลของแสงเงานั้นเป็นหลักการเดียวกับที่เราเห็นในโลกความจริง

ซึ่งอ่านมาตรงนี้ก็อาจจะยังไม่เข้าใจว่า NVIDIA เอามาโปรโมททำไม ? ในเมื่อมันเป็นเรื่องของ Computer Graphic และมีการใช้งานอยู่แล้วในปัจจุบัน ไม่ใช่เทคโนโลยีที่ NVIDIA ได้เปิดตัวมาเปลี่ยนโลกแต่อย่างใด / จุดที่ NVIDIA เอามาโปรโมตนั้นก็คือคำว่า "Real-Time" แหละครับ เพราะถึงแม้ Ray-Tracing จะไม่ใช่อะไรใหม่และสามารถทำได้อยู่แล้ว แต่การทำ Ray-Tracing นั้นต้องมีการ Render ซึ่งใช้เวลาและประสิทธิภาพของคอมพิวเตอร์ในการประมวลผลอย่างมาก ภาพที่เราเห็นกันในหนังกว่าจะออกมาเป็นแบบนั้น มันผ่านการ Render มาหลายวัน หรือแม้กระทั่งหลายอาทิตย์ และผ่านขั้นตอนอะไรเยอะแยะ .... แต่ NVIDIA โปรโมทคำว่า "Real-Time" ซึ่งแปลกันตรงตัวก็คือ "ทำได้ในขณะนั้น" และนี่แหละครับ มันเกิดมาเปลี่ยนวงการ Gaming เลย เพราะว่าการแสดงผลของภาพในเกมนั้นจำเป็นต้องเป็น "Real-Time" หรือ "ทำในขณะนั้น" การเอา Ray Tracing มาทำในแบบ Real Time นี้ก็หมายความว่าเทคโนโลยีขั้นสูงในการทำ CGI ของภาพยนต์จะสามารถเอามาใช้ในวงการ Gaming ได้ด้วย 

จริงๆแล้วการทำ Real-Time Ray Tracing ก็ไม่ใช่ว่าการ์ดรุ่นก่อนหน้าหรือรุ่นอื่นๆนั้นทำไม่ได้ คือมันทำได้ครับ แค่การ์ดพวกนั้นมันเป็นการ์ดระดับ Workstation ไม่ก็ทำผ่าน Software แต่ RTX ตัวใหม่ของ NVIDIA นั้นมีประสิทธิภาพในการทำงานตรงนี้สูงกว่าและเป็นการ์ดสำหรับคนทั่วไปนั่นเอง จุดนี้มันดีจนกระทั่งสามารถเอามาเป็นมาตรฐานใหม่ให้ผู้พัฒนาเกมเพิ่มเทคโนโลยีเข้าไปในเกมของตัวเองได้เลย .. โดย NVIDIA นั้นได้สร้าง RT-Core (มีในการ์ดสถาปัตยกรรม Turing) มารองรับงานนี้โดยเฉพาะอีกด้วย

โดยการ์ดจอแต่ละรุ่นของ NVIDIA ก็จะมีพลังการประมวลผลในส่วนนี้ต่างกัน สำหรับ RTX2080Ti ก็จะทำได้ที่ 10 GigaRays/วินาที , RTX2080 จะทำได้ที่ 8 GigaRays/วินาที และ RTX2070 จะทำได้ที่ 6 GigaRays/วินาที ส่วนการ์ดรุ่นล่างกว่านี้ ไม่แน่ใจว่าจะทำได้ดีแค่ไหน หรือว่าจะมีฟีเจอร์นี้ให้มาด้วยหรือเปล่า

สุดท้ายแล้ว ณ เวลานี้ผมมองว่า Real-Time Ray Tracing ในเกมต่างๆนั้นยังถือว่าเป็นลูกเล่นอยู่ เพราะว่าไม่ใช่ว่าการ์ดจอทุกตัวมีประสิทธิภาพดีพอในจุดนี้ ทำให้ผู้พัฒนาเกมนั้นไม่สามารถวางระบบเกี่ยวกับ Ray Tracing ในตัวเกมตั้งแต่เริ่มต้นสร้างได้ แต่จะต้องเพิ่มไปเป็นฟีเจอร์ที่จะใช้ได้แค่การ์ดจอที่รองรับแทน ทำให้ดูแล้วมันยังอยู่ครึ่งๆกลางๆ อาจจะยังไม่ดูสมบูรณ์ 100% ในอนาคตเมื่อการ์ดจอทุกรุ่นทำได้แล้วนั้น ผู้พัฒนาเกมถึงน่าจะเริ่มพัฒนา Ray Tracing ให้กลายเป็นส่วนหลักของเกม และตอนนั้นแหละครับ เราถึงจะได้เห็นการพัฒนาของกราฟฟิคที่ก้าวกระโดด แต่ก็คงอีกซักพักใหญ่ๆเลย เพราะถ้าการ์ดจอส่วนใหญ่ไม่รองรับ และผู้พัฒนาเกมใส่มาเป็นพื้นฐานหลักแต่คนไม่มีการ์ดเพื่อเล่น ทีนี้ใครจะซื้อเกมหล่ะถูกไหม ? หรือดีไม่ดีเทคโนโลยีนี้อาจจะไม่ได้เกิดเข้าสู่ในระดับ Mainstream และเงียบหายไปตามกาลเวลาก็ได้ ใครจะรู้ .. จะไปรอดหรือไม่รอดต้องรอดูความร่วมมือระหว่างหลายๆบริษัทเลยหล่ะ

ร่วมแสดงความคิดเห็น