เทคโนโลยี Ray Tracing ใหม่ของ nvidia คือคำตอบสำหรับการพัฒนาดังกล่าวเมื่อบริษัท เปิดตัวกลุ่มผลิตภัณฑ์กราฟิกการ์ด . กราฟิกรุ่นใหม่ที่ใช้สถาปัตยกรรมทัวริง Ray Tracing คืออะไร? ทำไมถึงบอกว่านี่คือเทคโนโลยีแห่งอนาคต? มาทำความรู้จักกับWebTech360ในบทความนี้กัน
Ray Tracing คืออะไร?
Ray Tracing เป็นเทคนิคการเรนเดอร์ (rendering) แสงโดยไล่ตามลำแสง (trace หมายถึงไล่ตาม, ray หมายถึงลำแสง) คุณสามารถจินตนาการถึงเทคนิคนี้ เช่น วิธีที่คุณเงยหน้าขึ้นมองดวงอาทิตย์ ติดตามตำแหน่งที่รังสีตกกระทบ วัตถุใดตกกระทบ และแสงส่องกระทบวัตถุรอบข้างอย่างไร Ray Tracing สร้างกระบวนการนั้นขึ้นใหม่แต่ในสภาพแวดล้อมดิจิทัล
กล่าวอีกนัยหนึ่งRay Tracingจะติดตามแสงที่ดูดซับ สะท้อน กระจาย และกระจัดกระจายโดยวัตถุแต่ละชนิดในสภาพแวดล้อม และไม่เพียง แต่ใช้กับลำแสงจากดวงอาทิตย์เท่านั้นแต่ใช้กับแหล่งกำเนิดแสงอื่นๆ ด้วย (เช่น หลอดไฟ 2 ดวง ในห้องเกม, ไฟที่กะพริบของเตาผิงในเกม, แหล่งกำเนิดแสงประดิษฐ์ได้รับการแก้ไขเมื่อเรนเดอร์ 3D...)
ปัจจุบัน สถาปัตยกรรมทัวริงที่มีRay Tracingยังคงเป็นเครื่องหมายคำถามขนาดใหญ่ ซึ่งคาดว่าจะเป็นจุดเปลี่ยนของตลาด GPU ที่ปฏิวัติวงการ ผลิตภัณฑ์ดังกล่าวมีแนวโน้มที่จะเห็นในพีซีส่วนใหญ่ในอนาคตหรือไม่ หรือมีราคาสูงขนาดนั้น น้อยคนนักที่จะเป็นเจ้าของและใช้มันได้?
เป็นการยากที่จะตอบเพราะแม้ว่าจะมีบทความและบทวิจารณ์สำหรับGeForce RTX 2080 FE และ GeForce RTX 2080 Ti FE ทั้งสองซีรีย์แล้วเราก็ยังต้องรอแม้กระทั่งเกมที่รองรับเทคโนโลยีระดับสูงของการ์ดนี่คือ ray ติดตาม นอกจากนี้ กราฟิกการ์ดระดับมืออาชีพ Quadro ยังติดตั้งเทคโนโลยีใหม่นี้: Quadro RXT 8000, Quadro RXT 6000, Quadro RXT 5000, Quadro RXT 4000

Ray Tracing ทำงานอย่างไร
เป้าหมายของRay Tracingคือการสร้างแสงที่สมจริงยิ่งขึ้นและการแรเงาที่เป็นธรรมชาติมากขึ้น และ ซีรีส์ RTXของNVIDIAก็ได้รับผลลัพธ์ที่น่าประทับใจ อย่างน้อยก็ในการสาธิตการเปิดตัว ห้องไม้ที่มีหน้าต่างแบบเปิดจะสว่างขึ้นเกือบทั้งห้องเมื่อใช้แสงแบบดั้งเดิม และเมื่อเปิด Ray Tracing สถานที่ที่มีแสงส่องโดยตรงจะสว่างกว่าในมุมมืดของห้อง ห้อง NVIDIA ยังแสดงให้เห็นว่าเปลวไฟใน Battlefield V สามารถหลอกหลอนตัวละครในเกมและเผาประตูรถได้อย่างไร
แสงไม่เพียงแต่ส่งผลต่อการส่องสว่างเท่านั้น แต่ยังส่งผลต่อสี ความลึก และเงาอีกด้วย ดังนั้นเมื่อมีการจำลองการจัดแสงให้ใกล้เคียงกับชีวิตจริง องค์ประกอบอื่นๆ ที่เหลือก็ทำได้ดีเช่นกัน เฉดสีในเกมปัจจุบันดูค่อนข้างรุนแรงและชัดเจน ขาดการเปลี่ยนแปลงเล็กน้อยระหว่างแพทช์สีอ่อนและสีเข้ม และ Ray Tracing เป็นส่วนที่ทำให้สิ่งนี้เป็นไปได้
อัลกอริทึมการติดตามเรย์
การสร้างแบบจำลองของโลกแห่งความเป็นจริงเป็นงานที่ซับซ้อนมาก ประกอบด้วยปัจจัยหลายอย่าง เช่น ลำแสงจำนวนไม่จำกัด พื้นผิวที่สะท้อน การส่องผ่านวัตถุ ทั้งหมดนี้ขึ้นอยู่กับคุณสมบัติทางโมเลกุลของวัตถุแต่ละชิ้น ไม่ต้องพูดถึงแรงโน้มถ่วงและปฏิสัมพันธ์ทางกายภาพ การจำลองสิ่งที่ "ไม่มีที่สิ้นสุด" โดยใช้ทรัพยากรที่มีอยู่อย่างจำกัดของคอมพิวเตอร์เครื่องปัจจุบันนั้นไม่สมส่วนและเป็นไปไม่ได้เลย
เราเรียกวิธีแก้ปัญหาข้างต้นว่า"แรสเตอร์ไรเซชัน"แทนที่จะจัดการกับโฟตอนจำนวนไม่สิ้นสุด การประมวลผลจะเริ่มต้นด้วยรูปหลายเหลี่ยม รูปหลายเหลี่ยมที่มากขึ้นหมายถึงความเร็วในการประมวลผลที่เร็วขึ้น และการแรสเตอร์อยู่ที่นี่เพื่อเปลี่ยนรูปหลายเหลี่ยมหลายล้านเหล่านั้นให้เป็นรูปภาพเฉพาะ
กล่าวโดยย่อคือ สร้างต้นแบบ 2 มิติและเรนเดอร์ในโลก 3 มิติที่สร้างไว้ล่วงหน้า ในนั้น ภาพ 2 มิติที่ทำจากรูปหลายเหลี่ยมสามารถครอบคลุมทั้งหน้าจอเมื่อดูใกล้ ๆ แต่อาจครอบคลุมเพียงไม่กี่พิกเซลเมื่อมองจากระยะไกล ดังนั้น จึงสร้างพิกเซล พื้นผิว และหลักการของแสง แน่นอนว่าเทคนิคเดียวไม่สามารถครอบคลุมทั้งงานได้
เทคนิคต่างๆ เช่น Z-buffer (บัฟเฟอร์รองที่ติดตามความลึกของแต่ละพิกเซล) เร่งกระบวนการ สร้างเครื่องมือที่ทำให้มองเห็นรูปหลายเหลี่ยมที่สร้างขึ้นหลายล้านรูป จัดเรียงและจัดการได้อย่างมีประสิทธิภาพที่สุด สิ่งนี้อาจต้องใช้การคำนวณนับล้านหรือพันล้านต่อเฟรม ซึ่งมีเพียง GPU รุ่นใหม่ที่มีความเร็วในการประมวลผลเทราฟลอปเท่านั้นที่รับมือได้

Ray tracingเข้าถึงปัญหาข้างต้นแตกต่างจาก R asterizationซึ่งในอดีตมีมาประมาณ 50 ปีแล้ว ปัจจุบัน Turner Whittedทำงานให้กับNVIDIAในอดีตร่างวิธีคำนวณการติดตามแบบวนซ้ำ ทำให้ได้ภาพที่น่าประทับใจ รวมถึงเงา การสะท้อน และอื่นๆ แน่นอนว่ามันจะซับซ้อนกว่าการแรสเตอร์มาก
Ray Tracingเกี่ยวข้องกับการตรวจจับทิศทางของรังสี (โดยปกติจะเป็นรังสีของแสง) เมื่อฉายแสงไปยังโลก 3 มิติ สมมติว่าคุณต้องการสร้างวัตถุ สิ่งแรกคือการหารังสีของแสงที่ติดตามรูปหลายเหลี่ยมที่ประกอบกันเป็นวัตถุ จากนั้นพิจารณาแหล่งกำเนิดแสงที่เป็นไปได้ คุณสมบัติของรูปหลายเหลี่ยม เช่น วัสดุ พื้นผิวเรียบหรือโค้ง กล่าวโดยย่อ คือ เพิ่มหรือลบลำแสง
กระบวนการนี้จะเกิดขึ้นซ้ำกับแหล่งกำเนิดแสงอื่นๆ รวมถึงแสงที่สะท้อนจากวัตถุในฉาก มีความซับซ้อนมากจนจำเป็นต้องใช้สูตรมากมายเพื่อทำให้ Ray Tracing เป็นไปได้ แม้แต่กับพื้นผิวที่โปร่งใสและกึ่งโปร่งใส เช่น แก้วหรือน้ำ ทุกสิ่งต้องมีขีดจำกัดในการสะท้อนแสง เพราะแม้แต่รังสีก็ไม่สามารถตรวจจับโฟตอนจำนวนอนันต์ทั้งหมดได้

อัลกอริทึม Ray Tracing ที่ใช้บ่อยที่สุดตามที่NVIDIA ระบุ คือBVH Traversal: Bounding Volume Hierarchy Traversalซึ่งเร่งกระบวนการโดยการแบ่งโซนวัตถุสำหรับการประมวลผล หรืออีกนัยหนึ่งคือ "แบ่งและพิชิต"

คุณสามารถอ้างอิงถึงโมเดลกระต่ายของ NVIDIA ซึ่งใช้อัลกอริทึม BVH ซึ่งแปลแต่ละระดับ แบ่งส่วนออกเป็นบล็อก เล็กลงเรื่อยๆ จนกระทั่งอัลกอริทึมส่งผลให้เกิดรายการรูปหลายเหลี่ยมสั้นๆ จากนั้นจึงทำงานของ Ray Tracing
อย่างไรก็ตาม ปริมาณงานที่ต้องทำเมื่อทำงานนี้กับซอฟต์แวร์บน CPU หรือ GPU นั้นสูงเกินไป อีกทางเลือกหนึ่งคือ RT core แต่ละ RT core มีอัลกอริทึมโครงสร้าง BVH ในตัว ทำให้สามารถประมวลผลงานได้เร็วกว่า CUDA core ถึง 10 เท่า

นอกจากนี้ยังต้องกล่าวถึงจำนวนรังสีที่ตรวจพบบนพิกเซล รังสีเพียง 1 รังสีนำไปสู่การคำนวณนับสิบหรือหลายร้อยครั้ง แต่ยิ่งติดตามรังสีมากเท่าไหร่ งานก็จะเบาลงและผลผลิตก็จะสูงขึ้นเท่านั้น บริษัทอย่าง Pixar ก็ใช้เทคโนโลยี Ray Tracing เพื่อสร้างภาพเคลื่อนไหวเช่นกัน
ภาพยนตร์ความยาว 90 นาทีที่มีอัตราเฟรม 60 FPS ต้องใช้ภาพ 324,000 ภาพ ซึ่งแต่ละภาพจะใช้เวลาหลายชั่วโมงในการคำนวณรังสีที่ติดตามแต่ละพิกเซล NVIDIA จะประสบความสำเร็จเทียบเท่าเรียลไทม์ได้อย่างไร? ฉันได้กล่าวถึงลักษณะที่ปรากฏของแกน RT ด้านบนแล้ว แต่ถ้านั่นยังไม่เพียงพอ คำตอบก็คือ Tensor cores มีเฉพาะในสถาปัตยกรรมทัวริงเท่านั้น ยกตัวอย่างง่ายๆ การรับภาระงาน FP16 แกน Tensor ถึง 114 TFLOPS ในขณะที่ FP32 และ CUDA มีเพียง 14.2 TFLOPS

แต่ทำไม Tensor core ถึงเพียงพอสำหรับ ray tracing? มันคือ AI และการเรียนรู้ด้วยตนเอง หรืออีกนัยหนึ่งคือฟีเจอร์ Deep Learning Super Sampling ที่ช่วยให้เกมแสดงผลที่ความละเอียดต่ำลงโดยไม่ต้องใช้ AA จากนั้น Tensor core จะสืบทอดและส่งผลกระทบต่อเฟรม ป้องกันการลบรอยหยักเพื่อความละเอียดสูงขึ้น
โดยสรุป บรรดาบริษัทชื่อดังในอุตสาหกรรมการเรนเดอร์ได้ก้าวเข้าสู่ Ray Tracing เช่น Epic, UE, Unity 3D, EA Frostbite Microsoft ยังสร้าง DirectX Ray สำหรับการติดตามรังสีโดยเฉพาะ ด้วย RTX นี่เป็นการก้าวกระโดดครั้งยิ่งใหญ่ในอุตสาหกรรมคอมพิวเตอร์กราฟิก แน่นอนว่ามันยังไม่สมบูรณ์ และภายใน 10 ปีข้างหน้า เราอาจจะสามารถนำ RTX 2080 Ti เข้าสู่ตลาดในฐานะกระแสหลักได้อย่างสมบูรณ์
เทคโนโลยี Ray Tracing บนกราฟิกการ์ดล่าสุดของ NVIDIA
เทคโนโลยีกราฟิกปัจจุบันจาก NVIDIA และอุตสาหกรรมเกือบทั้งหมดนั้นเกี่ยวกับการจำลองแสงและพฤติกรรมของแสงในฉากที่กำหนดด้วยวิธีที่ง่ายกว่า ซึ่งเรียกว่า Rasterization เช่นเดียวกับจิตรกรวาดภาพ วัตถุต่างๆ จะถูกเรนเดอร์เป็นชั้นๆ จากด้านหลังไปด้านหน้า ดังนั้นวัตถุที่อยู่เบื้องหน้าจะบดบังวัตถุที่อยู่ด้านหลัง

แสดงความแตกต่างระหว่าง Raster ทั่วไป (ซ้าย) และ Ray Tracing (ขวา)
อย่างไรก็ตาม วิธีการนี้จะยากเมื่อแสดงภาพสะท้อน เนื่องจากเทคนิคแรสเตอร์จะไม่สามารถติดตามและแสดงแสงได้ มักใช้ในฉากแบบเรียลไทม์เนื่องจากฮาร์ดแวร์ปัจจุบันไม่เพียงพอที่จะจำลองการเคลื่อนไหวของฉากที่ซับซ้อน เช่น ในวิดีโอเกมหรือภาพเคลื่อนไหว 3 มิติ
ในขณะเดียวกัน Ray Tracing จะสร้างพฤติกรรมของแสงขึ้นใหม่เมื่อตกกระทบพื้นผิว วัสดุ และวัตถุที่กำลังเคลื่อนที่
แสงที่ผ่านฉากสามารถแสดงผลและแสดงผลได้ซับซ้อนขึ้น ด้วย Ray Tracing คุณสามารถจำลองว่าแสงมีปฏิสัมพันธ์กับวัตถุอย่างไร สร้างภาพสะท้อน การหักเหของแสง และเอฟเฟกต์การกระเจิงที่เหมือนจริงในแบบเรียลไทม์ Ray Tracing สามารถตรวจจับและแสดงสารหักเหแสง แผ่นสะท้อนแสง แสดงภาพแหล่งที่มาของแสงในฉาก และแม้แต่สีของแสงหลังจากที่ส่องผ่านวัตถุไปแล้ว

ในความเป็นจริงเทคนิคนี้ถูกนำมาใช้ในทางปฏิบัติกับภาพยนตร์เช่น Monsters University ของ Pixar, Iron Man ของ Marvel แต่นั่นคือตอนที่มันถูกใช้โดยผู้ใช้มืออาชีพ แต่ตอนนี้มันได้ถูกนำมาใช้กับผู้ใช้ทั่วไปแล้ว ซึ่งเป็นสิ่งที่เป็นไปไม่ได้มาก่อน
สิ่งนี้สมควรได้รับการขนานนามว่าเป็นผลงานของ NVIDIA เนื่องจาก Ray Tracing ต้องใช้พลังการประมวลผลจำนวนมาก Jensen Huang ซีอีโอของ NVIDIA กล่าวว่า "เป็นการก้าวกระโดดครั้งใหญ่ที่สุดที่เราเคยทำมาในรุ่น (การ์ด GPU)"

วิธีแก้ปัญหาของ NVIDIA คือการใช้สถาปัตยกรรม Turing ใหม่ใน GPU ที่ออกใหม่ สถาปัตยกรรมนี้ออกแบบมาเพื่อแก้ปัญหาการประมวลผล นอกจากนี้ แกน Ray Tracing เฉพาะยังมาพร้อมกับ Tensor Core ซึ่งสามารถใช้ AI เพื่ออนุมานส่วน "เรียลไทม์" ของภาพ ซึ่งเป็นปัญหาที่ต้องใช้การคำนวณมากที่สุดในเทคนิคนี้ ดังนั้น GPU จึงสามารถเลียนแบบได้เร็วกว่าแพลตฟอร์ม Pascal รุ่นก่อนหน้าถึง 6 เท่า (บน GTX 1080Ti)
นี่เป็นก้าวกระโดดครั้งใหญ่ของเทคโนโลยีกราฟิกอย่างแท้จริง และน่าตื่นเต้นที่คิดว่าสตูดิโอและบุคคลทั่วไปจะสามารถขยายการใช้เทคนิคการติดตามรังสีนี้ไปยังแอปพลิเคชันในแอนิเมชัน เกมวิทยาศาสตร์ และการจำลอง
หวังว่า เทคโนโลยี Ray Tracingจะได้รับการพัฒนามากขึ้นเรื่อย ๆ แล้วเราจะได้สัมผัสกับคุณภาพของภาพที่สวยงามยิ่งขึ้น แต่ ณ ปัจจุบันเป็นเรื่องยากสำหรับคุณที่จะสัมผัสกับ Ray Tracing สำหรับผู้ใช้รายอื่น ๆ เกมแย่มากเพราะต้องใช้ซอฟต์แวร์ขนาดใหญ่ หากคุณต้องการคำแนะนำเกี่ยวกับการกำหนดค่าเกม Ray Tracing โปรดติดต่อWebTech360
สังเคราะห์จาก: Genk.vn