Ostatnio grałem w „MediEvil” i zastanawiałem się: co powoduje, że niektóre stare gry 3D mają „płynną” grafikę podczas ruchu? Jest obecny w grach takich jak „Final Fantasy VII” , „MediEvil” i pamiętam, że „Dungeon Keeper 2” ma to samo w trybie powiększenia. Jednak przykłady takie jak „Quake 2” nie miały tego „problemu” i jest tak samo stary. Rozdzielczość nie wydaje się być problemem, wszystko jest doskonale odwzorowane, gdy stoisz w miejscu. Czy gra jest odświeżana powoli, czy może ma to związek z buforowaniem?
15
Odpowiedzi:
Mam na ten temat tylko najdziwniejsze cytaty , ale pojawia się na oryginalnej PlayStation, jednostka wektorowa (która zwykle była używana do transformacji wierzchołków) była zdolna do operacji w punkcie stałym, a rasterizer używał również matematyki w punkcie stałym, ale między tymi liczbami można było przekazywać tylko liczby całkowite. Widzisz więc artefakty kwantyzacji: narożniki wielokąta są przyciągane do najbliższego punktu siatki. Idealnie stabilny do nieruchomej sceny, ale dość niepokojący w ruchu.
Z odrobiny dodatkowych badań wynika, że oryginalny PlayStation miał różne rozdzielczości, przy których rasterizer mógł pracować, od 256x224 do 740x480. Możesz więc wybrać niższe rozdzielczości, aby uzyskać lepszy współczynnik wypełnienia, ale zobaczysz tego rodzaju artefakty, ponieważ siatka w niskich rozdzielczościach jest wystarczająco gruba, aby łatwo wykryć gołym okiem.
źródło
Jeśli grasz w Quake 2 w trybie programowym, faktycznie zawiera on niektóre z wymienionych przez ciebie problemów. Jeśli spojrzysz na modele Certian pod ostrymi kątami w Quake 2, zobaczysz tekstury „pływania”. Wynika to z faktu, że wiele wczesnych silników 3D używało afinicznego odwzorowywania tekstur . Oszczędza to kosztownego podziału na piksel, który zapewnia prawidłowe odwzorowanie tekstury z perspektywy, ale oznacza, że tekstury będą się wypaczać, gdy będą oglądane pod ostrymi kątami.
Ponadto wiele wczesnych gier 3D (w tym Quake 2) stosowało proste przekształcanie wierzchołków celu animowania swoich modeli w przeciwieństwie do animacji szkieletowych. Wierzchołki są animowane między klatkami kluczowymi z interpolacją liniową. Oczywiście nie zachowuje to zbyt dobrze odległości między wierzchołkami, więc kończy się syndromem galaretowatego wierzchołka - modele drżą nieco podczas animacji!
źródło