Dobre zasoby do nauki o sprzęcie graficznym [zamknięte]

12

Szukam dobrych zasobów edukacyjnych dla sprzętu graficznego (i powiązanego oprogramowania niskiego poziomu). Zasadniczo chcę dowiedzieć się więcej o tym, co dzieje się pod warstwami API opengl / direcx pod względem sposobu implementacji.

Znam to, co dzieje się zasadniczo na różnych etapach procesu renderowania (oglądanie, projekcja, obcinanie, rasteryzacja itp.).

Moim celem jest móc podejmować lepsze i bardziej świadome decyzje dotyczące kompromisów i potencjalnych optymalizacji podczas programowania grafiki / modułu cieniującego w odniesieniu do następujących rodzajów problemów;

  • partie
  • zobacz ubijanie
  • okluzje
  • losuj kolejność
  • unikanie zmian stanu
  • trójkąty vs punktysprity
  • próbkowanie tekstury
  • itp

Zasadniczo wszystko, co programista graficzny musi wiedzieć o nowoczesnym sprzęcie graficznym, aby stać się bardziej efektywnym.

Tak naprawdę nie szukam konkretnych technik optymalizacji, potrzebuję bardziej ogólnej wiedzy, aby naturalnie napisać bardziej wydajny kod.

Rozpoznać
źródło
Batching ma mniej wspólnego ze sprzętem, a więcej z interfejsami API. Zmiany stanu są podobne, podobnie jak wygładzanie rzutni, „trójkąty kontra punkty”, itd.
Nicol Bolas,

Odpowiedzi:

5

Seria postów na blogu Fabiana Giesena Podróż przez potok graficzny to najlepsze miejsce, jakie znam, aby uzyskać ogólny obraz tego, jak działają nowoczesne procesory graficzne i jakie interfejsy API, takie jak D3D i OpenGL, naprawdę dla Ciebie działają.

Nathan Reed
źródło
1
Przeczytałem pierwsze dwa artykuły z tej serii. Wygląda na to, że może być dokładnie tym, czego potrzebuję.
Ken