ฉันกำลังอ่านบทแนะนำ OpenGL ที่ยอดเยี่ยม มันยอดเยี่ยมมากเชื่อใจฉัน หัวข้อที่ฉันอยู่ในขณะนี้คือ Z-buffer นอกเหนือจากการอธิบายว่ามันคืออะไรผู้เขียนกล่าวว่าเราสามารถทำการทดสอบเชิงลึกที่กำหนดเองเช่น GL_LESS, GL_ALWAYS และอื่น ๆ นอกจากนี้เขายังอธิบายว่าความหมายที่แท้จริงของค่าความลึก ที่กำหนดเอง ฉันเข้าใจจนถึง แล้วผู้เขียนก็บอกว่ามีอะไรที่ไม่น่าเชื่อ:
ช่วง zNear สามารถมากกว่าช่วง zFar; ถ้าเป็นเช่นนั้นค่าพื้นที่หน้าต่างจะถูกย้อนกลับในแง่ของสิ่งที่ถือว่าใกล้เคียงที่สุดหรือไกลที่สุดจากผู้ชม
ก่อนหน้านี้ได้มีการกล่าวว่าค่า Z- ช่องว่างของหน้าต่างอยู่ใกล้ที่สุดและ 1 มากที่สุด อย่างไรก็ตามหากค่าคลิปพื้นที่ Z ของเราถูกลบความลึก 1 จะอยู่ใกล้กับมุมมองมากที่สุดและความลึกของ 0 จะใกล้เคียงที่สุด แต่ถ้าเราพลิกทิศทางของการทดสอบความลึก (GL_LESS ถึง GL_GREATER ฯลฯ ) เราจะได้ผลลัพธ์เดียวกัน มันเป็นเพียงแค่การประชุมเท่านั้น อันที่จริงการพลิกเครื่องหมายของ Z และการทดสอบเชิงลึกนั้นครั้งหนึ่งเคยเป็นการเพิ่มประสิทธิภาพที่สำคัญสำหรับเกมจำนวนมาก
ถ้าฉันเข้าใจอย่างถูกต้องฉลาดหลักแหลมการพลิกเครื่องหมายของ Z และการทดสอบเชิงลึกคืออะไร แต่การเปลี่ยนการ<
เปรียบเทียบกับการ>
เปรียบเทียบ ดังนั้นหากฉันเข้าใจอย่างถูกต้องและผู้แต่งไม่ได้โกหกหรือทำสิ่งต่าง ๆ ขึ้นมาการเปลี่ยนแปลง<
ที่>
เคยเป็นสิ่งสำคัญที่สุดสำหรับหลาย ๆ เกม
เป็นผู้เขียนทำสิ่งที่ขึ้นผมกำลังเข้าใจผิดอะไรหรือเป็นจริงกรณีที่ครั้งหนึ่งเคย<
เป็นช้า ( จำเป็นขณะที่ผู้เขียนกล่าวว่า) มากกว่า>
?
ขอบคุณสำหรับการชี้แจงเรื่องนี้ค่อนข้างอยากรู้อยากเห็น!
ข้อจำกัดความรับผิดชอบ: ฉันตระหนักดีว่าความซับซ้อนของอัลกอริทึมเป็นแหล่งข้อมูลหลักสำหรับการปรับให้เหมาะสม ยิ่งกว่านั้นฉันสงสัยว่าทุกวันนี้มันจะไม่สร้างความแตกต่างอย่างแน่นอนและฉันก็ไม่ได้ขอให้ทำสิ่งใดให้เกิดประโยชน์สูงสุด ฉันแค่เจ็บปวดอย่างมากอาจจะสงสัย