Nie, mylisz się - nie tak w ogóle działały lustra Duke Nukem 3D.
DN3D użył silnika portalu . Połączenie dowolnych dwóch sektorów było do pewnego stopnia arbitralne, a gdy silnik renderujący trafił na portal, wiedział, że musi zacząć renderować inny sektor w tym sektorze. Sektor za lustrem był w zasadzie miejscem, w którym można było poradzić sobie z dziwactwem w silniku - jedynym punktem tego sektora było bycie większym niż cokolwiek, co trzeba „odbić”. Nie zawierał żadnej prawdziwej geometrii. W rzeczywistości działał on prawie tak samo, jak „portale” działają w portalu - z tym wyjątkiem, że portal (sam oparty na silniku portalu) tworzy portale w czasie wykonywania i ma limit liczby powtórzeń portali (np. A -> B -> A -> B -> A ...), podczas gdy kompilacja (DN3D) po prostu się zawiesi, ponieważ jego stos zostanie przepełniony, jeśli skierujesz lustro na inne lustro.
Oczywiste jest, jak łatwo można w ten sposób zaimplementować lustro - stworzyć portal prowadzący z powrotem do pokoju. Oznaczało to, że renderowanie lustra kosztowałoby dokładnie tyle samo, co renderowanie samego pokoju, zapewniając doskonałą wydajność i spójność. Tak długo, jak nie skierowałeś lustra na inne lustro. Jeśli przejrzysz kod źródłowy silnika kompilacji, zobaczysz, że w ogóle nie ma lusterek obsługujących kod - nie musi być jeden, ponieważ tak działają portale UWAGA: w rzeczywistości istnieje kod do odwrócenia renderowanych pikseli - to po prostu nie odwraca geometrii i wszystkich różnych duszków i efektów. Redaktor musiał jednak stworzyć te „fałszywe” portale - patrząc na siebie. Jeśli chcesz dowiedzieć się więcej o dość inteligentnym silniku kompilacji, zapoznaj się ze świetną analizą Fabiena Sanglarda z jego kompilacji . Cały silnik został również otwarty i przeniesiony na nowoczesne platformy, chociaż stary nadal działa bezbłędnie na Windows 10 (przetestowany dla Ciebie: P). Wiele gier opartych na Build zostało również udostępnionych i / lub przerobionych.
Dlaczego nie jest już używany? Cóż, niektóre silniki już nie preferują portali. Trudno jest zastosować wiele poprawek graficznych i optymalizacji - nie mogę wskazać niczego konkretnego, ale wiele późniejszych przeróbek zależy od hacków, które nie działałyby w prawdziwym silniku portalu (przyjmują wiele założeń, że już nie trzymaj). Jest to w zasadzie ten sam problem, jaki mają te gry ze zdjęciami stereoskopowymi - hacki już nie działają.
Co najważniejsze, lustra stały się bardziej skomplikowane. Mogą mieć złożone kształty, tekstury, mogą znajdować się na ziemi (znane również jako „woda”) itp. Podczas gdy wszystkie te problemy można rozwiązać w silniku portalu, RTT staje się w pewnym momencie prostszym wyborem, a procesory graficzne są wystarczająco szybkie sobie z tym poradzić.
Jednak mimo to istnieje wiele gier ze sprzętowym przyspieszeniem 3D, które robią rzeczy „prawdziwe”. Na przykład ze starszych gier, Quake 3 lub Alien vs. Predator. O ile mi wiadomo, gry silnika Source nadal używają „prawdziwych” mirrorów. Jeśli oczekujesz, że ludzie zbliżą się do lustra, i możesz zagwarantować, że jednocześnie nie ma zbyt wielu powierzchni odbijających światło (np. Dzięki projektowaniu poziomemu), lustra portalowe są nadal bardzo atrakcyjne.