Megatexturing: Ewolucja od Quake Wars do Rage

10

Pamiętam, jak John Carmack opowiadał o tym, jak początkowo wykorzystali Megatexturing do Quake Wars: Enemy Territory. Od tego czasu technologia znacznie się rozwinęła w Rage.

Zastanawiałem się, czy ktoś tutaj może podać szczegółowe informacje techniczne na temat tego, co i jak ewoluowało od tego czasu.

pdeva
źródło

Odpowiedzi:

6

Nie wiem, czy tego szukasz, ale możesz wypróbować ten film i ten artykuł z GDC 2011. Chodzi o: Mega Meshes - Modelowanie, renderowanie i oświetlenie świata zbudowanego ze 100 miliardów wielokątów. I jest wiele tekstur.

zacharmarz
źródło
1
Rozmowa jest faktycznie tutaj w archiwach GDC, ale musisz mieć pełne członkostwo (495 USD), aby ją obejrzeć.
bobobobo
3

Polecam sprawdzić artykuł „Virtual Texture Mapping 101” na temat klejnotów GPU. Zasadniczo dzieli oryginalną teksturę (która zwykle jest ogromna) na mniejsze kafelki i w razie potrzeby ładuje je do pamięci GPU. Ten sam pomysł można wykorzystać do renderowania ogromnych i bardzo szczegółowych terenów.

CodeLord
źródło
3

Na początek, Beyond3D ma miły krótki opis technicznych ciekawostek zebranych podczas wywiadu z dyrektorem technicznym Splash Damage Arnoutem van Meerem, a także starszym programistą grafiki Mike'em Armstrongiem. Ten sam artykuł konkretnie wskazuje na pewne wady dotyczące MegaTeksturowania w jego ówczesnej iteracji na stronie 5. Wskazuje na to, że John Carmack naprawił już niektóre z nich w późniejszej wersji, a także sposoby naprawienia innych, które nie były wówczas opłacalne.

Godne uwagi przykłady to:

  • Zoom karabinu snajperskiego nie będzie przesyłany strumieniowo w mapach mip wyższej jakości dla wyświetlanych kafelków
  • Niemożliwe przy dowolnej geometrii

Również w tym wywiadzie John Carmack stwierdza, że ​​niektóre niedociągnięcia technologii stosowanej w Quake Wars zostały już naprawione w wewnętrznych kompilacjach - na przykład zastosowanie MegaTekstur do dowolnej geometrii, w tym postaci i pojazdów.

Koarl
źródło
2

Prezentacja Seana Barreta GDC 2008 Sparse Virtual Texture była jego próbą odtworzenia tego, co robił Carmack w tym czasie. Jest też źródło. Od tego czasu istnieje korespondencja między Carmackiem a Barrettem.

(Prezentacja jest trochę gęsta, ale warto poświęcić czas na zrozumienie - spędziłem kilka godzin sesji z tablicą po obejrzeniu jej dwa razy w ciągu dwóch dni i ostatecznie doszedłem do punktu, w którym myślę, że zrozumiałem to wszystko. O wiele łatwiej, jeśli masz tło shadera fragmentów, czego wtedy nie miałem. To naprawdę fajne, że prezentacja jest wersją demonstracyjną.)

+1 dla zacharmarz za wzmiankę o doskonałej prezentacji GDC2011 Mega Meshes przez ludzi Lionhead pracujących nad Milo i Kate. Wspomniano tam wiele bardzo praktycznych rozwiązań, na przykład: renderowanie każdej innej klatki w różnych lokalizacjach (punkty aktywne, obroty o 180 stopni, powiększenia, dalej wzdłuż splajnu kontrolnego itp.) W celu określenia widoczności tekstury i poziomów mipu oraz przekazywania wyników do „pamięci podręcznej L2”, aby rozwiązać niektóre problemy z przesyłaniem tekstur. Niekoniecznie proste, ale mimo to eleganckie w swojej bezpośredniości.

leander
źródło