การเรนเดอร์ทางกายภาพและการติดตามเรย์


11

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

คำตอบ:


16

"อิงตามร่างกาย" ไม่ใช่คำศัพท์ที่ชัดเจนมากดังนั้นจึงยากที่จะตอบคำถามนี้อย่างแน่นอน

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

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

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

ดังนั้นจึงไม่มีการจำแนกประเภทอย่างหนักของความหมายของ "การแสดงผลทางกายภาพ" และการใช้การติดตามรังสีด้วยตัวเองไม่ได้ทำให้การแสดงผลทางกายภาพเป็น ในการเรนเดอร์ออฟไลน์คำนี้มักใช้เพื่ออ้างถึง renderers ที่แก้สมการเรนเดอร์ในขณะที่ในการเรนเดอร์เรียลไทม์มันมักจะหมายถึงการใช้ microfacet model หรือคล้ายกัน แต่เป็นไปได้ว่าความหมายของคำนี้จะเปลี่ยนไปในช่วงหลายปีที่ผ่านมา


3
ตามที่บอกไว้โดย @BenediktBitterli "การแสดงผลทางกายภาพ" ไม่ใช่ใช่หรือไม่ใช่ ในการเรนเดอร์เราต้องปรับสมดุลของความสมจริงด้วยต้นทุนการคำนวณ ผู้สร้างภาพบางคนจะมีคุณสมบัติ 'อิงตามร่างกาย' เพียงไม่กี่ตัวอย่างเช่น Microfacet BRDFs และ HDR สร้างเป้าหมาย ในขณะที่คนอื่น ๆ อาจมีมากมายเช่น BSDF เต็มรูปแบบ, เป้าหมายการแสดงคลื่นเต็มรูปแบบ, การติดตามแสง, ไฟในพื้นที่และอื่น ๆ
RichieSams

2

ไม่เพียง:

  • การเรนเดอร์แบบทางกายภาพไม่จำเป็นต้องทำการเรย์แทรค สามารถใช้วิธีอื่นได้ *

  • Raytracing สามารถใช้เพื่อทำเอฟเฟกต์อื่น ๆ

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

ive ส่วนตัวกำลังเล่นกับ FEM ที่ไม่มีโครงสร้างเพื่อแสดงภาพ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.