Path Tracing และ Ray Tracing คืออะไร? และทำไมพวกเขาถึงปรับปรุงกราฟิก?

หากคุณเคยดู ข่าวเกี่ยวกับเกมและกราฟิก(gaming and graphics news)แม้แต่นิดเดียว แสดง ว่าคุณเคยได้ยินคำศัพท์ล่าสุดและยิ่งใหญ่ที่สุด: ray tracing (ray tracing)คุณอาจเคยได้ยินคำที่ฟังดูคล้ายคลึงกันที่เรียกว่าการติดตามเส้นทาง (path tracing)และคุณอาจได้รับการอภัยโดยสิ้นเชิงเพราะไม่เข้าใจอย่างถ่องแท้ว่ากระบวนการใดกระบวนการหนึ่งคืออะไร

คำอธิบายง่ายๆ คือทั้งการติดตามเส้นทางและการติดตามรังสี(ray tracing)เป็นเทคนิคกราฟิกที่ทำให้ได้ภาพที่ดูสมจริงยิ่งขึ้นโดยใช้พลังในการคำนวณที่มากขึ้นอย่างเห็นได้ชัด มี วิดีโอ Minecraft(Minecraft video)บนYouTubeที่แสดงให้เห็นลักษณะเฉพาะของการติดตามรังสีอย่างชัดเจน แต่ยังแสดงให้เห็นถึงความเครียดที่เกิดขึ้นกับระบบ

หากนั่นเป็นคำอธิบายเดียวที่คุณต้องการ เยี่ยมเลย! แต่ถ้าคุณต้องการเจาะลึกและค้นหาว่าแต่ละเทคนิคทำงานอย่างไร และเหตุใด บริษัท ฮาร์ดแวร์ GPU(GPU hardware)จึงเรียกเก็บเงินจำนวนเล็กน้อยสำหรับการ์ดที่สามารถใช้ Ray Tracing ให้อ่านต่อไป

Rasterization และคอมพิวเตอร์กราฟิก

ภาพใดๆ ที่คุณเห็นบนหน้าจอคอมพิวเตอร์(computer screen)ไม่ได้เริ่มเป็นภาพนั้น โดยเริ่มต้นเป็นภาพแรสเตอร์หรือภาพเวก(vector image)เตอร์ ภาพแรสเตอร์(raster image)ประกอบด้วยคอลเล็กชันพิกเซลที่แรเงา

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

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

Rasterization เป็นตัวเลือกที่ดีสำหรับกราฟิกวิดีโอเกมมาเป็นเวลานานเนื่องจากสามารถประมวลผลได้เร็วเพียงใด แต่เมื่อเทคโนโลยีปัจจุบันเริ่มที่จะก้าวข้ามขีดจำกัด เทคนิคขั้นสูงจึงมีความจำเป็นมากกว่าที่จะก้าวไปสู่ระดับถัดไป นั่นคือที่มาของการติดตามรังสี

การติดตามด้วย รังสี(Ray)จะดูสมจริงกว่าการแรสเตอร์อย่างมาก ดังที่แสดงในภาพด้านล่าง ดูเงาสะท้อนบน หม้อชา(tea pot)และช้อน

Ray Tracing คืออะไร?

ที่ระดับพื้นผิว(surface level)การติดตามรังสี(ray tracing)เป็นคำในร่มที่หมายถึงทุกอย่างตั้งแต่จุดตัดของแสงและวัตถุเพียงจุดเดียว ไปจนถึงความสมจริงของแสงที่สมบูรณ์ อย่างไรก็ตาม ในบริบททั่วไปที่ใช้กันมากที่สุดในปัจจุบันการติดตามรังสี(ray tracing)หมายถึงเทคนิคการเรนเด(rendering technique) อร์ ที่ติดตามลำแสง (เป็นพิกเซล) จากจุดที่ตั้งไว้(set point)และจำลองว่าจะตอบสนองอย่างไรเมื่อสัมผัสกับวัตถุ

ใช้เวลาสักครู่แล้วมองไป(moment and look)ที่ผนังห้องที่คุณอยู่ มีแหล่งกำเนิดแสงบนผนังหรือมีแสงสะท้อนจากผนังจากแหล่งอื่นหรือไม่? กราฟิกที่ลากเส้นด้วย รังสี(Ray)จะเริ่มต้นที่ดวงตาของคุณและตามแนวสายตาของคุณไปที่ผนัง จากนั้นเดินตามเส้นทางของแสงจากผนังกลับไปยังแหล่งกำเนิดแสง

แผนภาพด้านบนแสดงวิธีการทำงาน สาเหตุของ "ดวงตา" ที่จำลองขึ้น (กล้องในแผนภาพนี้) คือการลดภาระการทำงานของGPU

ทำไม? ก็คือ Ray Tracing นั้นไม่ใช่ของใหม่ (t brand-new)จริงๆ มันก็มีมานานแล้วนะ Pixarใช้เทคนิค Ray Tracing เพื่อสร้างภาพยนตร์หลายเรื่อง แต่กราฟิกแบบเฟรมต่อเฟรมที่มีความเที่ยงตรงสูงที่ความละเอียดที่Pixarทำได้ต้องใช้เวลา

เวลา เยอะ(A lot) . บางเฟรมในMonsters Universityใช้เวลาประมาณ 29 ชั่วโมงในแต่ละ เฟรม Toy Story 3ใช้เวลาเฉลี่ย 7 ชั่วโมงต่อเฟรม โดยบางเฟรมใช้เวลา 39 ชั่วโมงตามเรื่องราวในปี 2010 จากWired

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

ลองดูที่ภาพด้านล่าง

นั่นไม่ใช่ภาพถ่าย แม้จะดูเหมือนจริงแค่ไหนก็ตาม มันเป็นภาพที่ฉายรังสี ลองจินตนาการว่าต้องใช้พลังมากแค่ไหนในการสร้างภาพที่มีลักษณะเช่นนี้ รังสีหนึ่งเส้นสามารถติดตามและประมวลผลได้โดยไม่มีปัญหา แต่แล้วเมื่อรังสีนั้นกระเด็นออกจากวัตถุล่ะ?

รังสีเดียวสามารถเปลี่ยนเป็น 10 เส้น และ 10 เส้นนั้นสามารถเปลี่ยนเป็น 100 ได้ เป็นต้น การเพิ่มขึ้นเป็นแบบทวีคูณ หลังจากจุดหนึ่ง การกระดอนและการสะท้อนกลับเกินระดับตติยภูมิและควอเทอร์นารีกลับลดน้อยลง กล่าวอีกนัยหนึ่ง พวกเขาต้องการพลังในการคำนวณและแสดงผลมากกว่าที่ควรจะเป็น ในการเรนเดอร์รูปภาพ จะต้องมีการขีด จำกัด ไว้ที่ใดที่หนึ่ง  

ทีนี้ลองนึกภาพว่าทำ 30 ถึง 60 ครั้งต่อวินาที นั่นคือปริมาณพลังงานที่จำเป็นสำหรับการใช้เทคนิค Ray Tracing ในเกม มันน่าประทับใจอย่างแน่นอนใช่ไหม?

ความสามารถในการบรรลุของกราฟิกการ์ดที่สามารถติดตามเรย์(ray tracing)จะเพิ่มขึ้นเมื่อเวลาผ่านไป และในที่สุดเทคนิคนี้จะพร้อมใช้งานเหมือนกับกราฟิก 3 มิติ สำหรับตอนนี้ray tracingยังคงเป็นคอมพิวเตอร์กราฟิกที่ทันสมัย แล้วการติดตามเส้นทางเข้ามามีบทบาทอย่างไร?

การติดตามเส้นทางคืออะไร?

การติดตามเส้นทาง(Path tracing)เป็นประเภทของการติดตามรังสี (ray tracing)มันอยู่ภายใต้ร่มนั้น แต่ที่ซึ่งการสืบค้นกลับของรังสี(ray tracing)ถูกตั้งขึ้นในปี 1968 การติดตามเส้นทางไม่ได้มาสู่ที่เกิดเหตุจนกระทั่งปี 1986 (และผลลัพธ์ก็ไม่ได้น่าทึ่งเท่าตอนนี้)

จำการเพิ่มขึ้นแบบทวีคูณของรังสีที่กล่าวถึงก่อนหน้านี้หรือไม่? การติดตามเส้นทาง ช่วยแก้ปัญหานั้นได้ (Path)เมื่อใช้การติดตามเส้นทางสำหรับการเรนเดอร์ รังสีจะผลิตรังสีเพียงครั้งเดียวต่อการสะท้อน รังสีไม่เป็นไปตามเส้นที่กำหนดไว้(set line)ต่อการเด้งแต่ละครั้ง แต่จะพุ่งออกไปในทิศทางแบบสุ่ม

จากนั้นอัลกอริธึมการติดตามเส้นทางจะสุ่มตัวอย่างรังสีทั้งหมดเพื่อสร้างภาพสุดท้าย ส่งผลให้มีการสุ่มตัวอย่างประเภทของแสงที่แตกต่างกัน แต่โดยเฉพาะอย่างยิ่งการส่องสว่างทั่วโลก

สิ่งที่น่าสนใจเกี่ยวกับการติดตามเส้นทาง(path tracing)คือเอฟเฟกต์สามารถจำลองได้โดยใช้เฉดสี แพ ทช์ shader(shader patch) ปรากฏขึ้นเมื่อเร็ว ๆ นี้สำหรับอีมูเลเตอร์ Nintendo Switch(Nintendo Switch emulator)ที่อนุญาตให้ผู้เล่นเลียนแบบเส้นทางที่ติดตามการส่องสว่างทั่วโลกในชื่ออย่างThe Legend of Zelda: Breath of the WildและSuper Mario Odyssey แม้ว่าเอฟเฟกต์จะดูดี แต่ก็ไม่ได้สมบูรณ์เท่ากับการติดตามเส้นทาง(path tracing) ที่ แท้จริง

การติดตามเส้นทาง(Path tracing)เป็นเพียงรูปแบบหนึ่งของการติดตามรังสี แม้ว่าจะได้รับการยกย่องว่าเป็นวิธีที่ดีที่สุดในการเรนเดอร์ภาพ แต่การติดตามเส้นทางก็มีข้อบกพร่องในตัวเอง

แต่ในท้ายที่สุด ทั้งการติดตามเส้นทางและการติดตามรังสี(path tracing and ray)ทำให้ได้ภาพที่สวยงามอย่างแท้จริง ขณะนี้ฮาร์ดแวร์ในเครื่องระดับผู้บริโภคได้มาถึงจุดที่การติดตามรังสี(ray tracing)เป็นไปได้ในแบบเรียลไทม์ในวิดีโอเกม อุตสาหกรรมนี้พร้อมที่จะสร้างความก้าวหน้าที่เกือบจะน่าประทับใจพอๆ กับขั้นตอนจากกราฟิก 2D เป็น 3D

อย่างไรก็ตาม อาจต้องใช้เวลา—อย่างน้อยก็หลายปี—ก่อนที่ฮาร์ดแวร์ที่จำเป็นจะถือว่า “คุ้มค่า” ณ ตอนนี้ แม้แต่การ์ดกราฟิกที่จำเป็นก็ยังมีราคาสูงกว่า 1,000 ดอลลาร์



About the author

ฉันเป็นผู้เชี่ยวชาญด้านคอมพิวเตอร์และทำงานกับคอมพิวเตอร์มาหลายปีแล้ว ฉันมีประสบการณ์กับทั้ง Apple iPhone และ Microsoft Windows 10 ทักษะของฉัน ได้แก่ การใช้คอมพิวเตอร์เพื่อสร้าง เข้ารหัส และจัดเก็บข้อมูล การค้นหาและแก้ไขข้อบกพร่องในซอฟต์แวร์ และการแก้ไขปัญหา ฉันมีความรู้ในทุกด้านของการใช้คอมพิวเตอร์ รวมถึง Apple iOS, Microsoft Windows 10, การป้องกันแรนซัมแวร์ และอื่นๆ ฉันมั่นใจว่าทักษะของฉันจะเป็นประโยชน์ต่อธุรกิจหรือองค์กรของคุณ



Related posts