ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

เทคโนโลยี Path Tracing คืออะไร ? และมันทำงานอย่างไร ?

เทคโนโลยี Path Tracing คืออะไร ? และมันทำงานอย่างไร ?

เมื่อ :
|  ผู้เข้าชม : 1,408
เขียนโดย :
0 %E0%B9%80%E0%B8%97%E0%B8%84%E0%B9%82%E0%B8%99%E0%B9%82%E0%B8%A5%E0%B8%A2%E0%B8%B5+Path+Tracing+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%A1%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3+%3F
A- A+
แชร์หน้าเว็บนี้ :

Path Tracing คืออะไร ?

ตลอดเวลาที่ผ่านมา โลกของเกมคอมพิวเตอร์ มักจะมีเทคโนโลยีใหม่ที่เข้ามาช่วยยกระดับภาพกราฟิกให้สมจริงเกิดขึ้นในทุกสองถึงสามปี ถ้ามองย้อนกลับไปในช่วงสิบกว่าปีที่ผ่านมา เราได้เห็นเทคโนโลยี Shaders, Tessellation, Shadow Mapping, Ray Tracing และในตอนนี้ก็ได้มีเทคโนโลยีใหม่ที่เริ่มนำมาใช้เพิ่มอีกตัวหนึ่งแล้ว นั่นก็คือ "Path Tracing"

บทความเกี่ยวกับ Graphic Card อื่นๆ

Path Tracing เป็นเทคโนโลยีที่ช่วยในการจำลองแสงภายในเกมให้มีความสมจริงเหมือนกับ Ray Tracing แต่มีเทคนิคการทำงานที่ไม่เหมือนกัน ? มันต่างจากเดิมอย่างไร ? มาหาคำตอบกันครับ

เนื้อหาภายในบทความ

เทคนิคจำลองแสงในคอมพิวเตอร์ (Simulating Light From a Screen)

ก่อนที่เราจะเข้าสู่เรื่อง Path Tracing คิดว่าควรมาเข้าใจเทคนิคที่นิยมใช้ในการจำลองแสงของกราฟิกคอมพิวเตอร์กันเสียก่อนสักเล็กน้อย โดยมันจะมีอยู่ 3 เทคนิค คือ Rasterization, Ray Tracing ที่เราเคยอธิบายไปแล้ว และ Path Tracing ที่เราจะมาเล่าให้ฟังในบทความนี้

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

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

การทำงานของ Ray Tracing เป็นการจำลองแสงที่เกิดขึ้นทีละเฟรมภาพแบบเรียลไทม์ ทำให้มันสามารถสร้างแสงสะท้อนจากแหล่งกำเนิดแสง ที่ตกกระทบไปยังวัตถุต่าง ๆ ภายในฉากได้แบบเรียลไทม์ ซึ่งเทคนิค Rasterization ไม่สามารถทำได้ 

เทคโนโลยี Path Tracing คืออะไร ? และมันทำงานอย่างไร ?
ภาพจาก : https://www.pixelsham.com/2019/10/24/whats-the-difference-between-ray-tracing-and-rasterization/

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

อย่างไรก็ตาม เทคนิค Ray tracing ที่ใช้ภายในเกมคอมพิวเตอร์ก็ไม่ใช่ว่าจะคำนวณค่าแสงทั้งหมดที่เกิดขึ้น เพราะมันเกินกำลังการประมวลผลของการ์ดจอไปมาก ส่วนใหญ่ก็จะคำนวณทิศทางจากแหล่งกำเนิดแสงแค่เพียงหนึ่ง ถึงสององค์ประกอบเท่านั้น ไม่ได้คำนวณทั้งฉาก แต่เมื่อใช้ทำงานร่วมกับระบบ Rasterization ผลลัพธ์สุดท้ายก็ออกมาน่าทึ่งพอสมควร


วิดีโอจาก : https://youtu.be/ZXhU9nLMRVM?si=-jppLAB40owyeLk9

และเทคโนโลยีจำลองแสงล่าสุดที่ถูกนำมาใช้ในการเรนเดอร์ภายในเกมก็คือ Path Tracing 

Path Tracing คืออะไร ? (What is Path Tracing ?)

Path Tracing เป็นเทคนิคการจำลองแสงที่ต่อยอดพัฒนามาจากการปรับปรุงเทคนิค Ray Tracing เป็นแนวคิดที่ถูกริเริ่มมาตั้งแต่ ปี ค.ศ. 1986 (พ.ศ. 2529) มันไม่ใช้เทคโนโลยีใหม่ ช่วงยุค 2000 สตูดิโอภาพยนตร์อย่าง Disney และ Sony ก็ใช้มันมานานแล้ว

การทำงานของ Path Tracing จะต่างจาก Ray Tracing โดยแทนที่จะติดตามเส้นทางการเดินของแสงทุกเส้น ไม่ว่าจะเป็นแสงเส้นหลัก หรือแสงสะท้อนก็ตาม การทำงานของ Path Tracing จะคำนวณเฉพาะเส้นแสงที่น่าจะเกิดขึ้นได้มากที่สุดในฉากเพียงอย่างเดียวแทน ซึ่งมันช่วยลดทรัพยากรในการประมวลผลไปได้เยอะมาก 

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

ในกรณีที่เป็น Ray Tracing มันจะคำนวณแสงจากทุกทิศทางที่ตกกระทบลงบนพื้นผิว เวลาคำนวณมันจะนำแสงจากทุกทิศทางมาประมวลหาผลลัพธ์ ตัวอย่างเช่น ถ้ามีแสงส่องตกกระทบวัตถุ และมีการสะท้อนเกิดขึ้น 5 ครั้ง จะมีการคำนวณแสงสะท้อนที่เกิดขึ้นหลายทิศทาง สมมติว่ามีแสงสะท้อนเกิดขึ้น 20 เส้น การคำนวณก็จะเป็น 20หรือ 320,0000 ครั้ง ซึ่งเอาจริง ๆ แค่นี้มันก็ยังไม่ได้ผลลัพธ์ที่แม่นยำมากพอ ส่วนใหญ่จะมีการคำนวณค่าแสงหลักเข้ามาทำงานร่วมด้วย ส่งผลให้การจำลองแสงด้วย Ray Tracing มีต้นทุนทรัพยากรในการทำงานสูงมาก

เทคโนโลยี Path Tracing คืออะไร ? และมันทำงานอย่างไร ?
ภาพจาก : https://ilchoi.weebly.com/monte-carlo-path-tracing.html

แต่เมื่อเป็น Path Tracing จะคำนวณจากค่าแสงเพียงเส้นเดียวเสมอ แต่จะมีการนำค่าแสงเดิมมาใช้ซ้ำโดยเปลี่ยนค่าทิศทางตามหลักการกระจายแสง Bidirectional reflectance distribution function (BRDF) ซึ่งเป็นฟังก์ชันความน่าจะเป็นของทิศทางที่สะท้อนของลำแสง  ดังนั้น การส่องสว่างของพื้นผิวจะเท่ากับผลรวมความส่องสว่างของแต่ละเส้นทาง เมื่อรวมกับการทำงานของ AI ทำให้สุดท้ายภาพรวมของแสงที่แสดงผลได้ก็มีความสวยงามสมจริง

ซึ่งเมื่อ Path Tracing เป็นการคำนวณค่าจากแสงเพียงแหล่งเดียว แม้จะต้องใช้สมการคณิตศาสตร์ที่ซับซ้อนกว่า แต่สุดท้ายการทำงานของมันก็ใช้ทรัพยากรในการทำงานต่ำกว่า Ray Tracing นั่นหมายความว่าจะมีปริมาณความร้อนเกิดขึ้นที่ตัวการ์ดจอน้อยกว่ามาก ในปัจจุบันนี้มีหลายเกมที่แม้จะเปิดตัวมานานแล้ว แต่ผู้พัฒนาก็อัปเดตให้มันรองรับ Path Tracing ได้ ซึ่งไม่ใช่เรื่องที่พบเห็นได้บ่อยนัก

เทคโนโลยี Path Tracing คืออะไร ? และมันทำงานอย่างไร ?
ภาพจาก : https://ilchoi.weebly.com/monte-carlo-path-tracing.html

Rasterization, Ray Tracing และ Path Tracing เทคโนโลยีไหนดีที่สุด (Which technology is the best between Rasterization, Ray Tracing and Path Tracing ?)

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

ในการทำงานของผู้พัฒนา ตามปกติก็จะใช้มีการใช้หลาย ๆ เทคนิคร่วมกันอยู่แล้ว เพื่อให้ได้ภาพที่สมจริงที่สุดในทุกสถานการณ์ จึงมักจะใช้ทั้ง Rasterization, Ray-Tracing และ Path Tracing ทำงานร่วมกันอยู่แล้ว 

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

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


ที่มา : www.maketecheasier.com , blogs.nvidia.com , www.digitaltrends.com , www.techspot.com , www.hardwaretimes.com , history-computer.com , www.techspot.com

0 %E0%B9%80%E0%B8%97%E0%B8%84%E0%B9%82%E0%B8%99%E0%B9%82%E0%B8%A5%E0%B8%A2%E0%B8%B5+Path+Tracing+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F+%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%A1%E0%B8%B1%E0%B8%99%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3+%3F
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
ระดับผู้ใช้ : Admin    Thaiware
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

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