Jakieś dobre książki na temat programowania grafiki?

9

Szukałem książki, która ma podejście oddolne do programowania grafiki. Więc coś, co zaczyna się od filtrowania 2d, może przejście do normalnego mapowania, a następnie okluzji otoczenia itp.

Pytam, ponieważ przez ostatnie kilka lat byłem leniwy w tworzeniu gier i zawsze używałem silnika, który to obsługuje. Chcę zacząć pisać shadery do moich gier, zamiast polegać na tych tajemniczych, które pożyczyłem w przeszłości. Myślę, że bardzo dobra znajomość tego pomoże i jestem uczniem oddolnym, więc pomóżcie mi!

Wiem, że seria klejnotów GPU jest świetna, ale wydają się bardziej jak książka kucharska niż podejście oddolne, którego chcę. Masz tendencję do uzyskiwania większej rozproszonej teorii z książek kucharskich zamiast opierać się na teorii z poprzednich rozdziałów.

EDYCJA: Najlepiej coś, co przeczytałeś! Mogę to wyszukać w Amazon, ale w ten sposób trudno jest uzyskać obiektywną recenzję.

brandon
źródło

Odpowiedzi:

10

Większość „efektów cieniowania”, takich jak filtrowanie i normalne mapowanie, ma bardzo niewiele wspólnego, co można uznać za elementy składowe między efektami. Na przykład filtrowanie 2D i normalne mapowanie nie są trudniejsze ani bardziej zaawansowane, podobnie jak wiele efektów z kilkoma znaczącymi wyjątkami (przychodzą na myśl różne smaki mapowania cieni). Oni są po prostu inni. Dlatego zobaczysz tak wiele książek w stylu książek kucharskich, jeśli chodzi o omawianie faktycznego programowania efektów graficznych (w przeciwieństwie do programowania grafiki na poziomie podstawowym).

Większość efektów w świecie (tj. Tych, które nie są przetwarzane po obróbce), jest zakorzeniona na pewnym poziomie w fizycznych właściwościach światła i jego symulacji lub przybliżeniu. W tym celu czytanie książek, które koncentrują się na śledzeniu promieni jako metodzie renderowania, może pomóc w lepszym zrozumieniu podstawowych teorii ( renderowanie oparte na fizyce jest również doskonałą lekturą).

Kiedy to zrozumiesz, „teoria rozproszona” obecna w książkach takich jak Klejnoty GPU będzie odnosić się przede wszystkim do konkretnych sposobów, w jakie można manipulować GPU w celu przybliżenia pożądanych scenariuszy fizycznych w świecie rzeczywistym i będzie wydawać się mniej rozłączna.

Podobnie, shadery do przetwarzania końcowego mają tendencję do czerpania z teorii przetwarzania sygnału i obrazu. Wydaje mi się, że pamiętam tę książkę jako podręcznik na zajęciach na ten temat, ale nie pamiętam zbyt wiele na ten temat.

Zasadniczo jednak nie znajdziesz zbyt wiele, aby sprostać takiemu podejściu, ponieważ teoria, która łączy ze sobą wszystkie różnorodne efekty cieniowania, które są obecnie modne, ma strukturę bardzo, bardzo płytkiego drzewa, a nie bardzo głęboka - istnieje bardzo niewiele zależności, które zaspokajają podejście „oddolne”, kiedy przekroczysz podstawy samej teorii programowania graficznego (jak ustrukturyzować scenę, potok transformacji i powiązaną algebrę liniową, rasteryzację itp.).


źródło
wielkie wyjaśnienie. Widzę, jak by to było teraz
brandon