Ich suche einige gute Lernressourcen für Grafikhardware (und zugehörige Low-Level-Software). Grundsätzlich möchte ich mehr darüber erfahren, was sich unter den opengl / direcx-API-Ebenen in Bezug auf die Implementierung abspielt.
Ich kenne die prinzipiellen Vorgänge in den verschiedenen Phasen der Rendering-Pipeline (Anzeigen, Projizieren, Ausschneiden, Rastern usw.).
Mein Ziel ist es, bessere und fundiertere Entscheidungen über Kompromisse und mögliche Optimierungen bei der Grafik- / Shader-Programmierung in Bezug auf die folgenden Arten von Problemen treffen zu können.
- Dosierung
- View Culling
- Okklusionen
- Reihenfolge zeichnen
- Zustandsänderungen vermeiden
- Dreiecke gegen Punkte
- Textur-Sampling
- etc
Grundsätzlich alles, was der Grafikprogrammierer über moderne Grafikhardware wissen muss, um effektiver zu werden.
Ich bin nicht wirklich auf der Suche nach bestimmten Optimierungstechniken, sondern benötige allgemeinere Kenntnisse, damit ich natürlich effizienteren Code schreiben kann.
Antworten:
Die Blogpostserie von Fabian Giesen Eine Reise durch die Grafik-Pipeline ist der beste Ort, den ich kenne, um zu sehen, wie moderne GPUs funktionieren und welche APIs wie D3D und OpenGL wirklich für Sie tun.
quelle