Pamiętam jakiś czas temu, że tekstury generowane proceduralnie stały się wielką rzeczą, którą zainteresowało wiele osób / firm z pewnymi poważnymi korzyściami (mniejsze wdrożenia, potencjalnie szybsze ładowanie, wyższa jakość, skalowalne tekstury, potencjalnie tańsze w produkcji itp. ).
Z tego, co mogę powiedzieć, szum jest martwy i żadne gry z mojego radaru ich nie używają. Co się stało?
Miałem nadzieję, że zobaczę tekstury proceduralne zgodne z tym, co ma materiał NaturalMotion (powolne, ale stałe przyjmowanie).
źródło
Utrata kontroli artystycznej i wzrost wielkości opcji przechowywania sprawiają, że jest to trudna sprzedaż. To dodatkowo trzeba przekwalifikować artystów, zatrudniając ich ze względu na to, że byli dobrzy w tradycyjnym teksturowaniu. O ile rozmiar lub unikatowe teksturowanie nie jest tak naprawdę problemem, generalnie niewiele jest chęci pójścia drogą proceduralną.
źródło
Zasadniczo duże pistolety go nie obsługują, więc nie jest często używany. Były fajne rzeczy (choć trochę stare), takie jak .kkrieger, ale czas ładowania (w tamtych czasach) był naprawdę powolny, ponieważ w czasie ładowania musiał wygenerować wszystkie tekstury.
Możemy zobaczyć coś takiego w silnikach nowej generacji (Unreal 4 itp.), Ale nie sądzę, że zysk w porównaniu do rozwoju jest wystarczająco duży.
Istnieją przykłady w świecie AAA, na przykład Spore generuje proceduralnie tekstury i animacje stworzonych stworzeń.
źródło
Tekstury proceduralne mają problem z tym, że dyrektor artystyczny nie może rzetelnie wskazać pracy artysty i powiedzieć „proszę, uczyń tę część trochę bardziej X”. ponieważ system cieniowania proceduralnego może nie obsługiwać X tanio lub wcale.
Na przykład moduł do cieniowania cegieł może obsługiwać czystą brązową cegłę, ale może nie obsługiwać cegły pomalowanej reklamą 80 lat temu i graffiti 10 lat temu. Lub może nie obsługiwać posiadania jednej fioletowej cegły z 1000 brązowych cegieł. Dokładnie w tym jednym miejscu, ponieważ to miejsce odpowiada gustowi dyrektora artystycznego.
Rzeczywista tekstura może oczywiście obsługiwać wszystkie te rzeczy, iw tym sensie prawdziwa tekstura jest lepsza niż tekstura proceduralna.
Tekstura proceduralna sprawuje kontrolę artystyczną dzięki preferencji dla niektórych przypadków użycia w stosunku do innych. Prawdziwa faktura nie wywiera takiej kontroli.
Sprzęt GPU ma jednak silną preferencję do procedury, ponieważ pamięć tekstur jest tak oddalona o wiele cykli od jednostek ALU, które wykonują cieniowanie.
źródło
cóż, nadal wydaje się to świetnym pomysłem na gry. Ponieważ możesz proceduralnie generować tekstury w locie, aby świat wokół gracza wyglądał bardziej naturalnie. Nie potrzeba dużych danych. Można to z pewnością wykorzystać do zwiększenia nawet rozdzielczości
źródło
Masz typową kompromis pamięci czasowej . Cóż, czy ci się to podoba, czy nie, generowanie procedur zamienia czas procesora na zachowanie pamięci. W rzeczywistości, gdy przechowywanie staje się tańsze, a ludzie zawsze chcą krótszych czasów ładowania, trendem jest odwrócenie - wstępnie wygenerowane lub sfotografowane zasoby zużywają pamięć w zamian za szybkość.
Czy plik jpg ładuje się szybciej niż wersja generowana proceduralnie? Najprawdopodobniej tak . Jeśli plik jpg ma rozmiar 2 MB i załadujesz go raz, dlaczego miałbyś zawracać sobie głowę procedurami? W czasie wykonywania tekstura i tak zajmuje taką samą ilość pamięci RAM (nieskompresowana i załadowana do pamięci GPU)
źródło