VR และ frullum การเลือกสรร


13

เมื่อเรนเดอร์สภาพแวดล้อม VR (มุมมองสเตอริโอ) พวกคุณแนะนำเพียงแค่ทำการตรวจสอบ frustum 2 ครั้งเพื่อพิจารณาว่าจะวาดอะไรในระหว่างการคัดกรอง frustum หรือมีการตรวจสอบอื่น ๆ ที่จะรวม frusta ทั้งสองได้หรือไม่

คำตอบ:


13

มันค่อนข้างง่ายที่จะสร้าง frustum เพียงอันเดียวที่ล้อมรอบ frusta ตาทั้งคู่ดังที่แสดงในแผนภาพนี้ซึ่งสร้างโดย Cass Everitt ที่ Oculus คุณเพียงแค่วางจุดยอดของ frustum นี้ระหว่างดวงตาและด้านหลังเล็กน้อย นอกจากนี้คุณยังสามารถเพิ่มระยะทางระนาบที่ใกล้เคียงเพื่อให้เข้ากับระนาบใกล้แบบดั้งเดิมของตา frusta

ป้อนคำอธิบายรูปภาพที่นี่

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

นอกจากนี้ยังเป็นไปได้ที่จะคัดสรรเครื่องบิน frustum ดั้งเดิมและบนสุดด้านล่าง (ซึ่งแบ่งระหว่างตา) พร้อมกับเครื่องบินด้านนอก เครื่องบินเหล่านี้ไม่ได้สร้าง frustum ในทางเทคนิค แต่หากใช้อัลกอริทึมการคัดแบบ "ปกติ" ที่ทดสอบกับระนาบหนึ่งครั้งอัลกอริทึมจะทำงานอย่างมีความสุขกับชุดของเครื่องบินที่คุณสนใจ

การแบ่งปันการคัดสรร frustum การเลือก LOD ฯลฯ ระหว่างดวงตาแทนที่จะทำซ้ำสองครั้งในทุกเฟรมเป็นวิธีที่ยอดเยี่ยมในการปรับแต่งค่า CPU ของการเรนเดอร์สเตอริโอ นี่เป็นข้อกำหนดเบื้องต้นหากคุณต้องการใช้วิธีการเรนเดอร์ที่ดึงดูดสายตาทั้งสองข้างในครั้งเดียวเช่นการเรนเดอร์สเตอริโอแบบอัตโนมัติ


2
ขอบคุณนาธานนั่นคือสิ่งที่ฉันเป็นหลังจากนั้นคุณจะขอไดอะแกรมนี้มาจากที่ไหนในเอกสารสาธารณะใด ๆ
Garry Wallis

2
@GarryWallis Cass ทวีตไม่กี่เดือนที่ผ่านมา
Nathan Reed

5

ฉันได้สรุปผลลัพธ์ของ Everitt หากจำเป็น

ทั่วไป frustum ทั่วไป

เป็นโบนัสวิธีแยกซ้าย / ขวา 0 จากเมทริกซ์มุมมองของสายตา:

left0   = n0 * (Mle13 - 1) / Mle11;
right1  = n1 * (Mre13 + 1) / Mre11;

หากคุณมีสาขาวิชาเอก ไขว้สำหรับคอลัมน์หลัก cf คำตอบนี้


4

ระวังด้วยการใช้ frustum เพียงอันเดียวในการคัดออกใช้งานได้ก็ต่อเมื่อมุมมองของดวงตาที่รวมกันนั้นน้อยกว่า 180 องศา ขณะนี้มีชุดหูฟัง VR กับข้อมูลขนาดใหญ่ของมุมมองรอบ 200 องศาเช่นPimax 5k +และStarVR เป็นไปไม่ได้ที่จะสร้าง frustum มุมมองแบบดั้งเดิมหรือเมทริกซ์การฉายเดี่ยวสำหรับมุมมองมากกว่า 180 องศา

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

มุมมองที่รวมกันแบบเดียวยังคงมีประโยชน์ แต่รหัสของคุณควรเตรียมรับมือกับกรณีที่ไม่สามารถสร้างได้เพื่อให้แน่ใจว่าเป็นข้อพิสูจน์ในอนาคต หรือลองพิจารณาการเลือกสรรต่อการรับชมดวงตาหรือเปลี่ยนเป็นการเลือกสรรการคัดสรรมุมซึ่งสามารถถ่ายทอด FOV ที่มีขนาดใหญ่กว่า -180 องศา

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