Betrachten wir zunächst einmal eine vereinfachte Abbildung der oben besprochenen Visualisierungspipeline - Abbildung 2.1 - wie ordnen sich Shader dort ein?
Die intuitive Antwort auf diese Frage ist auch die Richtige: Vertex Shader greifen im Schritt der Vertex Transformationen, Fragment Shader während der Färbung in die Pipeline ein. Vertex Shader ersetzen die Transformationen des statischen Teils der Pipeline, Fragment Shader ersetzen den Schritt der Einfärbung der traditionellen Pipeline komplett.
Wozu noch statische Transformationen und Färbungen mag man sich fragen, wo man doch theoretisch alles direkt per Shadern machen könnte? Diese Frage ist durchaus berechtigt, denn eigentlich könnten Shader durchaus die traditionellen Pipelines komplett implementieren, die Frage ist aber falsch gestellt: warum nicht?
Durch das Hinzunehmen von Shadern in die Pipelines wird Legacy-Applikationen nicht geschadet, sie funktionieren weiterhin. Der Benutzer der nur Shader nutzen will kann die traditionelle Pipeline einfach ignorieren.
Es gibt viele Möglichkeiten Shader in OpenGL zu nutzen, drei sollen an dieser Stelle kurz vorgestellt werden: