Co powinien napisać każdy programista grafiki [zamknięty]


18

Widziałem to pytanie na SO, ale tutaj chcę, aby skupiło się na GFX.

Więc Twoim zdaniem, jakie aplikacje / funkcje powinien każdy początkujący programista GFX napisać / zmienić, aby był lepszy?

Wiki społeczności, ponieważ nie ma „właściwej odpowiedzi”.

LE: Nie odnosząc się do rzeczywistych gier, ale do funkcji graficznych, na przykład zmieniając coś w silniku (np. Sposób, w jaki ładuje obiekty), tworząc kompozytor, i tak dalej.


Odpowiedzi:


22

Moja odpowiedź jest zawsze taka sama: jeśli jeszcze tego nie napisałeś, napisz raytracer.

Będziesz musiał poradzić sobie ze strukturami optymalizacji, precyzją liczbową i wszelkiego rodzaju innymi zagadnieniami, ale będziesz również pracować bezpośrednio z matematyką światła w sposób, który rzadko robisz, gdy zajmujesz się wszystkimi hackami i przybliżeniami, które składają się renderer czasu rzeczywistego produkcyjnego.

Zdejmij cały gmach systemów załadunkowych, modne słowa tygodnia, odroczone-to lub do przodu-to, a nareszcie pozostanie Ci światło, które podróżuje przez medium. Ostatecznie to wszystko, co jest w grafice.


Co ciekawe, zastanawiałem się nad zasugerowaniem również raytracera, bardzo miłego ćwiczenia matematycznego. Nie zgadzam się z odroczeniem bycia modnym słowem tygodnia, jest to, podobnie jak raytracing, dość duża zmiana w podejściu do renderowania, co dla programisty graficznego wydaje się być czymś, o czym powinieneś wiedzieć.
Kaj,

Powiedziałbym, że optymalizacja nie jest tak ważna, jak radzenie sobie z dowolnymi siatkami, co jest krokiem, o którym wielu ludzi nigdy nie ma do czynienia z raytracerami.
Jonathan Fischoff,

Poparłbym tę (trzecią?) Sugestię, z zastrzeżeniem, że (jak wspomniano) musi wspierać siatki, a nie tylko zatrzymywać się na błyszczących sferach na szachownicy. Punkty bonusowe za każdą próbę globalnego oświetlenia. Nawet jeśli nie zoptymalizujesz go zbytnio do czegoś, co faktycznie będzie przydatne , powinieneś starać się zrozumieć, które bity są powolne i dlaczego.
JasonD

I jedno zastrzeżenie z tą sugestią - podczas gdy lekkie podróżowanie przez medium to wszystko, co jest do grafiki, zapewni ci bardzo mało szkolenia w tym, czego potrzebujesz w rzeczywistych (obecnych) środowiskach produkcyjnych.
Kaj,

1
+1 napisanie ray tracera było najbardziej użyteczną rzeczą, której nauczyłem się na zajęciach z grafiki mojej uczelni
Bryan Denny

7

W dzisiejszych czasach może być mało praktyczny, ale pisanie w programie do renderowania oprogramowania, przynajmniej podstawowym (może tylko niektórych obracających się teksturowanych kostkach), jest wartościowym ćwiczeniem.

Zrozumienie, jak samodzielnie przekształcać, wyświetlać, przycinać, sortować według głębokości, rasteryzować i wielokątów map tekstur, pozwoli lepiej zrozumieć działanie sprzętu 3D i interfejsów API renderowania


właściwie to. poza tym blitter sprite z obsługą alfa. ... lub przynajmniej coś, WSZYSTKO, gdzie manipulujesz pikselami według ich wartości bitowych.
Lassi Kinnunen

6

Nie renderując kodu, myślę, że napisanie kompilatora BSP i towarzyszącego mu kodu przejścia jest przyjemnym ćwiczeniem z matematyki wektorowej.
Po drugie, odroczony mechanizm renderujący. Nie dlatego, że jest to ostateczna odpowiedź na renderowanie, ale da ci wgląd w inne podejście do renderowania.


2

Naucz się mechaniki i umiejętności pisania dobrych shaderów. Chociaż nie jest to w 100% konieczne we wszystkich przypadkach, warto ją poznać.


Zgadzam się z twoją odpowiedzią, jednak jest ona zbyt szeroka i niektóre zasoby i linki do nich nie zaszkodziłyby na pełną odpowiedź :).
lukas.pukenis
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.