Eine Unified Shading Architecture gibt es schon seit einigen Jahren, dass ist nichts neues mehr.

Grafikkarten enthalten einen haufen so genannter "Shader Units" die darauf ausgelegt sind gut parallelisierbare Prozesse als solche in ziemlich hoher Geschwindgkeit abzuarbeiten. Das können aktuell Compute Shader für irgendwelche Berechnungen (Pathfinding, Audiofilterung, Physik, Raytracing, ...), Vertexshader zum Projizieren der Vertexpositionen in Bildschirmkoordinaten (Animationen, Beleuchtung, ...), Geometry Shader zum erzeugen von Polygonen (bokeh effekte, Fell, Marching Cubes, ...), Tesselation Shader um Polygone noch weiter zu tesselieren (Displacement mapping, abrunden von kanten, ...) und Fragment shader die die Farbe eines Pixels bestimmen (Texturing, Multitexturing, Beleuchtung, Schatten, Refraktion, ...) sein.
Diese sind voll programmierbar und dadurch sehr flexibel und vielseitig.

Gaaaanz alte 3D Hardware wurde mal mit sogenanntem T&L (Transform and Lightning, was wenn ich grad mal so darüber nachdenke glaub ich damals die einzige Aufgabe von 3D Hardware war?) beworben, was dann nach und nach um mehr features in Hardware (so genannte fixed function pipeline) erweitert wurde um dann teilweise Multitexturing, Cubemapreflektionen, Per Pixel Lightning und Bumpmapping und andere Dinge zu unterstützen. Diese features konnte man teilweise an und abschalten und in verschiedener Reihenfolge kombinieren, mehr aber auch nicht.

Die Hauptaufgabe von Grafikkarten ist das Transformieren der 3D Vertexkoordinaten deiner Modelle in die 2D Koordinaten deines Displays und das (perspektivisch korrigierte) auslesen der Texturpixel pro sichtbarem Pixel. Dazwischen und danach gibts dann noch sowas wie Depthtest und Culling und Blending und mehr, aber diese zwei Hauptaufgaben, waren früher in fester Hardware, die es auf modernen Grafikkarten (neuer als 5Jahre, vermutlich länger) nicht mehr gibt, da sie vollständig von Shadern ersetzt wurden.
Gamestudio nutzt DirectX9, dass noch einige altmodische features unterstützt wie zum Beispiel die Fixed function pipeline, explitzites angeben von Lichtern und anderen Material eigenschaften (die begrenzung auf 8 Lichter, passend für die Hardware) und anderes.
Dieses ganze System wurde in neueren DirectX und OpenGL Versionen ziemlich umstrukturiert, da gibt es nurnoch die Möglichkeit, zusätzlich zu Datenarrays mit normalerweise der Geometrie und Texturen, Variablen (z.B. Matrizen und Vektoren mit den Transformationsmatrizen und Lichtinformationen, mit prinzipiell erstmal beliebig vielen Lichtern) an shader zu übergeben und wenn es keinen shader gibt kann auch nichts gerendert werden.
Mit DirectX 9.0 und aktueller hardware die einen haufen der features so nicht mehr unterstützt werden diese features treiberseitig zu shadern kompiliert die dann auch auf aktueller Hardware funktionieren.

Was ich dir sagen will, ist dass bei dir im Hintergrund schon alles shader nutzt, nur dass du davon nichts merkst, weil DirectX das vor dir versteckt.
Dieser Emulationsprozess ist aber performance mäßig nicht ganz kostenlos, da er dir CPU Zeit wegnimmt.

Shader sind in keiner weise böse, sondern viel mehr die einzige Möglichkeit Hardwarebeschleunigt irgendetwas zu rendern und dabei sind sie extrem flexibel, weil man zwar einerseits komplett ohne Texturen einfach nur einfarbige Geometrie rendern kann, andererseits aber auch komplexe Berechnungen für den coolsten kram anstellen kann.

Es kann sein, dass es eines Tages Ersatz für Shader gibt, aber dann besteht die geometrie auch nurnoch aus gigantischen Punktmengen mit eigenschaften und irgendetwas anderes noch tolleres ersetzt die shader. Bis dahin ist es aber sicherlich keine Verschwendung ein paar shader zu schreiben, was für die meisten standard dinge sehr schnell und einfach geht.


Edit: Es ist gut möglich dass einige Dinge von dem was ich hier geschrieben habe falsch sind, da ich das aus erinnerung geschrieben habe ohne weiter zu recherchieren, falls jemandem etwas auffällt bitte ich um verbesserung, im groben sollte es so aber durchaus passen.