No, ti sbagli: non è così che gli specchi Duke Nukem 3D hanno funzionato.
DN3D utilizzava un motore portale . Una giuntura tra due settori qualsiasi era arbitraria in una certa misura e quando il motore di rendering arrivava a un portale, sapeva che doveva iniziare a renderlo un altro settore. Il settore dietro lo specchio era fondamentalmente un segnaposto per affrontare una stranezza nel motore - l'unico punto del settore era quello di essere più grande di qualsiasi cosa avessi bisogno di "riflesso". Non conteneva alcuna geometria reale. In effetti, ha funzionato praticamente nello stesso modo in cui i "portali" funzionano in Portal - tranne che Portal (essendo esso stesso basato su un motore di portale) crea i portali in fase di esecuzione e ha un limite al numero di volte in cui i portali possono richiamare (ad es. A -> B -> A -> B -> A ...), mentre Build (DN3D) andrebbe semplicemente in crash quando il suo stack traboccava se puntassi uno specchio su un altro mirror.
È ovvio quanto sia semplice implementare uno specchio con quello - creare un portale che punti di nuovo nella stanza. Ciò significa che il rendering dello specchio costerebbe esattamente quanto il rendering della stanza stessa, offrendo grandi prestazioni e coerenza. Finché non hai puntato uno specchio su un altro specchio, cioè. Se guardi attraverso il codice sorgente del motore Build, vedrai che non esiste alcun codice per la gestione dei mirror: non deve essercene uno, perché è così che funzionano i portali NOTA: in realtà, c'è un codice per capovolgere i pixel renderizzati - esso semplicemente non capovolge la geometria e tutti i vari sprite ed effetti. L'editore doveva essere in grado di realizzare questi portali "falsi", guardando indietro su se stesso. Se vuoi sapere di più sul motore di costruzione piuttosto intelligente, c'è una grande analisi di Fabien Sanglard su interni del motore Build. L'intero motore è stato aperto e portato anche su piattaforme moderne, anche se il vecchio funziona ancora perfettamente su Windows 10 (testato per te: P). Molti dei giochi basati su Build sono stati anche open source e / o rifatti.
Perché questo non viene più utilizzato? Bene, alcuni motori non preferiscono più i portali, per esempio. È difficile applicare molti hack e ottimizzazioni grafiche: non posso indicarti nulla di specifico, ma molta post-elaborazione dipende da hack che non funzionerebbero in un vero motore di portale (fanno molte ipotesi che non tenere più). Questo è fondamentalmente lo stesso tipo di problema che questi giochi hanno con immagini stereoscopiche: gli hack non funzionano più.
Ancora più importante, gli specchi sono diventati più complicati. Possono avere forme, trame complesse, possono essere a terra (anche conosciute come "acqua") ecc. Mentre tutti questi problemi sono risolvibili in un motore a portale, RTT diventa la scelta più semplice ad un certo punto e le GPU sono abbastanza veloci per gestirlo.
Tuttavia, nonostante tutto, ci sono molti giochi con accelerazione 3D hardware che fanno le cose "reali". Dei giochi più vecchi, Quake 3 o Alien vs. Predator, per esempio. Per quanto ne so, i giochi del motore di origine usano ancora mirror "reali". Se ti aspetti che le persone si avvicinino allo specchio e puoi garantire che non ci sono troppe superfici riflettenti allo stesso tempo (ad esempio attraverso la progettazione a livello), gli specchi a portale sono ancora molto attraenti.