ไม่คุณผิด - นั่นไม่ใช่วิธีที่กระจกของ Duke Nukem 3D ทำงานเลย
DN3D ใช้เครื่องยนต์พอร์ทัล การเชื่อมต่อระหว่างสองส่วนใดก็ได้โดยพลการและเมื่อเอ็นจิ้นการเรนเดอร์มาที่พอร์ทัลก็รู้ว่าจะต้องเริ่มเรนเดอร์เซกเตอร์อื่นในนั้น ภาคหลังกระจกนั้นเป็นสถานที่จัดการกับการเล่นโวหารในเครื่องยนต์ - จุดเดียวของภาคคือใหญ่กว่าสิ่งที่คุณต้องการ "สะท้อน" มันไม่มีรูปทรงเรขาคณิตที่แท้จริง ในความเป็นจริงมันใช้งานได้ดีในลักษณะเดียวกับ "พอร์ทัล" ในพอร์ทัล - ยกเว้นว่าพอร์ทัล (ตัวเองเป็นฐานของเครื่องมือพอร์ทัล) สร้างพอร์ทัลที่รันไทม์และมีการ จำกัด จำนวนครั้งที่พอร์ทัลสามารถเรียกคืนได้ (เช่น A -> B -> A -> B -> A ... ) ในขณะที่ Build (DN3D) จะผิดพลาดเนื่องจากสแตกของมันล้นหากคุณชี้มิเรอร์ไปที่มิเรอร์อื่น
เห็นได้ชัดว่ามันง่ายแค่ไหนในการนำกระจกเงามาใช้สร้างพอร์ทัลที่ชี้กลับเข้าไปในห้อง นี่หมายความว่าการเรนเดอร์กระจกจะมีค่าใช้จ่ายเท่ากันกับการเรนเดอร์ห้องเองให้ประสิทธิภาพที่ยอดเยี่ยมและความสม่ำเสมอ ตราบใดที่คุณไม่ได้ส่องกระจกอีกตัวหนึ่งนั่นก็คือ หากคุณมองผ่านซอร์สโค้ดของ Build engine คุณจะเห็นว่าไม่มีการจัดการโค้ดมิเรอร์เลย - ไม่จำเป็นต้องเป็นรหัสเพราะนั่นเป็นวิธีการทำงานของพอร์ทัล หมายเหตุ: จริงๆแล้วมีรหัสให้พลิกพิกเซลที่เรนเดอร์ - มัน เพียงแค่ไม่พลิกเรขาคณิตและสไปรต์และเอฟเฟกต์ต่างๆ. บรรณาธิการต้องสามารถสร้างพอร์ทัล "ปลอม" เหล่านี้ได้ - มองย้อนกลับไป หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับสมาร์ทเครื่องยนต์รูปร่างค่อนข้างมีการวิเคราะห์ที่ดีโดย Fabien Sanglard ที่internals เครื่องยนต์รูปร่าง เอ็นจิ้นทั้งหมดได้รับการเปิดแหล่งที่มาและส่งไปยังแพลตฟอร์มที่ทันสมัยเช่นกันแม้ว่าอันเก่ายังคงทำงานได้อย่างไม่มีที่ติใน Windows 10 (ทดสอบสำหรับคุณ: P) หลายเกมที่ใช้ Build ได้รับการเปิดแหล่งที่มาและ / หรือเหล็กไหล
เหตุใดจึงไม่ใช้อีกต่อไป เครื่องยนต์บางตัวไม่ชอบพอร์ทัลอีกต่อไป เป็นการยากที่จะใช้การแฮ็กกราฟิกและการเพิ่มประสิทธิภาพเป็นจำนวนมาก - ฉันไม่สามารถชี้ให้คุณเห็นอะไรที่เฉพาะเจาะจง แต่การโพสต์การประมวลผลจำนวนมากขึ้นอยู่กับแฮ็กที่จะไม่ทำงานในเอ็นจิ้นพอร์ทัลจริง ไม่ถืออีกต่อไป) นี่เป็นปัญหาแบบเดียวกันกับที่เกมเหล่านี้มีกับภาพสามมิติ - แฮ็คไม่ทำงานอีกต่อไป
สิ่งสำคัญที่สุดคือกระจกมีความซับซ้อนมากขึ้น พวกเขาสามารถมีรูปร่างที่ซับซ้อนพื้นผิวพวกเขาอาจอยู่บนพื้นดิน (หรือเรียกอีกอย่างว่า "น้ำ") ฯลฯ ในขณะที่ปัญหาเหล่านี้สามารถแก้ไขได้ในเอ็นจิ้นพอร์ทัล RTT กลายเป็นตัวเลือกที่ง่ายกว่าในบางจุดและ GPU นั้นเร็วพอ เพื่อจัดการกับมัน
อย่างไรก็ตามแม้จะมีทั้งหมดที่มีเกมมากมายที่มีการเร่งความเร็ว 3 มิติของฮาร์ดแวร์ที่ทำสิ่งต่าง ๆ "ของจริง" ยกตัวอย่างเช่นเกมเก่า ๆ Quake 3 หรือ Alien vs. Predator เท่าที่ฉันรู้เกม Source engine ยังคงใช้กระจก "ของจริง" หากคุณคาดหวังว่าผู้คนจะเข้าใกล้กระจกและคุณสามารถรับประกันได้ว่าไม่มีพื้นผิวสะท้อนแสงมากเกินไปในเวลาเดียวกัน (เช่นผ่านการออกแบบระดับ) กระจกพอร์ทัลก็ยังคงน่าสนใจมาก