Gdy ostatnio zalogowałem się do renderowania terenu, ROAM był nowy. Tak, to było dawno temu. Bardzo lubiłem ROAM, ponieważ programowanie było niezwykle proste i dawało całkiem przyzwoite rezultaty. Wyobrażam sobie, że technologia uległa teraz znacznej poprawie. Jakie są obecnie najpopularniejsze metody renderowania terenu?
terrain-rendering
3d
hokiecsgrad
źródło
źródło
Odpowiedzi:
Zdecydowanie powinieneś zapoznać się z prezentacją Halo Wars GDC „ The Terrain of Next-Gen ”. Omówiono zastosowanie pełnego przesunięcia pola wektorowego zamiast prostego przesunięcia pola wysokości.
Aby uzyskać coś nieco mniej rewolucyjnego, może zajrzyj do clipmap geometrii. Jest to dobry artykuł w GPU Gems 2 tutaj .
źródło
Po pierwsze, potok geometrii musi być tak prosty, jak to tylko możliwe, i po prostu wypchnąć geometrię do GPU z dość podstawowym zarządzaniem LOD.
Zrobiłem prezentację na Siggraph 2007 zatytułowaną „ Rendering terenu w trybie Frostbite” za pomocą Procedural Shader Splatting, która opisuje pewne szczegóły dotyczące tego, jak radzimy sobie zarówno z geometrią LOD, jak i ogólną teksturą i cieniowaniem terenu. Używamy kombinacji półprocedurnych shaderów na wielu warstwach. Jest to również omówione bardziej szczegółowo w notatkach do wykładu ( pdf ).
źródło
Cóż, w rzeczywistości najnowszym trendem jest stosowanie raytracingu do rzadkiego oktetu woksela dla terenu w połączeniu z rasteryzacją siatek trójkątów dla całej reszty. Oprogramowanie id obecnie pracuje nad tą technologią, aby zaimplementować ją w nadchodzącym silniku.
źródło
Jako przyjazne ostrzeżenie, każdy Googling na ten temat bez wątpienia dostanie 100 000 trafień na ROAM i powiązane technologie (ROAM, Geo mip-mapping itp.). Trzymaj się z dala od nich, są one bardzo związane z procesorem.
Czytałem tu i tam, że „brutalna siła” może faktycznie zadziałać; i mam osobiste doświadczenie, że działa lepiej niż jakiekolwiek technologie ROAM, które wdrożyłem. Po prostu dzielenie krajobrazu i wycinanie jego części działało doskonale; jako rozwiązanie sprawdzające koncepcję.
Proste systemy są zawsze najlepszą pierwszą implementacją. Jeśli nie masz wbudowanego silnika krajobrazowego, zrób prosty, kontynuuj resztę gry i wróć do innych pomysłów później. Krajobrazy są fajne do implementacji (ponieważ uzyskuje się tak różnorodne wyniki przy bardzo prostych zmianach), a typowy programista będzie zbyt długo rozpraszany tą łamigłówką.
Po przygotowaniu gry; Neverender ma rację.
źródło
Alternatywą dla mapowania geometrii jest często stosowana technika, która skutecznie zasila potok grafiki i nie jest opatentowana jak mapowanie geometrii. Jest prawdopodobnie używany w większości nowoczesnych wirtualnych globusów.
Istnieją bardziej nowoczesne techniki, które w pełni wykorzystują dzisiejsze układy GPU, wysyłając do GPU tylko tekstury wysokości i kolorów oraz budując geometrię terenu za pomocą shaderów (patrz Bruneton i Neyret 2008 ), ale ostrzegamy, że chociaż jest szybki, oznacza to również, że nie „ t mają geometrię terenu na CPU do fizyki i symulacji. Istnieje również nowoczesna technika, która dynamicznie przełącza się między rasteryzacją a rzutowaniem promieniowym w zależności od tego, co jest najbardziej wydajne (patrz Dick ea 2010 ).
źródło