Ich habe jedenfalls ... gemeint, dass ... eben zB Grafikkarten neue Techniken bieten, die bisher wenig genutzt werden.
Losgetreten hat diese Entwicklung NVidia, als sie das Entwicklungstempo so beschleunigen wollten, daß sie alle anderen Wettbewerber vom Markt drücken konnten (was ihnen ja auch, bis auf ATi, gelungen ist). Das hat auch bedeutet, die Grafikkartenfunktionen einseitig auf die Bedürfnisse von Shootern zurechtzuschneidern (wenn John Carmack sagte, er bräuchte diese oder jene Funktion, dann wurde sie eben eingebaut), und jede neue Karte sofort auf den Markt zu werfen, ohne Musterexemplare an Entwickler abzugeben, damit die zuvor auch etwas passendes in den Hände bekamen.
Heutzutage ist man als kleiner Entwickler ebenso wie jeder Verbraucher gezwungen, sich eine neue Grafikkarte zu kaufen, und sie dann mit seiner eigenen Engine auszutesten. De facto guckt man sich daher nur noch an, was in DirectX spezifiziert ist, und fährt dann sein Ding, solange man nicht herausfindet, daß manche Grafikkarten zwar behaupten, eine bestimmte Funktion zu beherrschen, das dann aber tatsächlich eben doch nicht tun - jedenfalls nicht richtig - und daß das auch nicht korrigiert werden wird, weil wenige Entwickler diese Funktion tatsächlich so nutzen. Beispielsweise hatten wir ursprünglich eine Lösung, 3D-Baummodelle in eine Textur zu rendern, die dynamisch aktualisiert wird, und diese Textur dann auf "Pappaufsteller" zu projizieren von allen Bäumen, die weit weg sind. Das Ergebnis war total super - sah sehr gut aus, brachte hohe Frameraten, war elegant programmiert - funktionierte aber nur auf manchen NVidia-Karten, und auch nur mit bestimmten Treiberversionen.
Jetzt kann man sich ja nicht hinstellen und Schwarzer Peter spielen nach dem Motto
Unser Programm ist spezifikationskonform, die Grafikkartenhersteller und ihre Treiberentwickler schlampen!
Denn auch wenn es wahr ist: Dem Kunden nutzt es gar nichts, daß seine Hardware es eigentlich könnte oder der Hersteller die unwahre Behauptung aufstellt, daß sie es könne. Die normative Kraft des Faktischen zwingt den Entwickler dazu, um solche Macken herumzuprogrammieren und einen anderen Weg zu finden (das ist uns ja auch gelungen, es ist eben nur nicht mehr so elegant programmiert).
Im Endergebnis hechelt man als Entwickler den DirectX-Versionen hinterher, und speziell als kleiner Entwickler stürzt man sich nicht auf die neueste Betaversion, sondern setzt auf einen etablierten Standard (wir haben bis zum Sommer letzten Jahres auf der Basis von DirectX 8.1 gearbeitet und sind erst dann auf DirectX 9 umgestiegen, obwohl es DirectX 9-Betaversionen schon ein Jahr früher gab und auch mit der Matrox Parhelia eine DirectX 9-konforme Grafikkarte). Erst als die Radeon 9700 herauskam, war für uns DirectX 9 ein praxisrelevantes Thema.
Nun könnten wir relativ schnell ein paar DirectX 9-Sachen an unsere Engine anflanschen, sagen wir mal einen Shader für heiße-Luft-Flimmern oder solche Sachen. Nur: Wir machen ja eine technisch anspruchsvolle Sache, bei der die Grafikfunktionen Mittel zum Zweck sind, und daher dann zum Einsatz kommen, wenn es für den Simulationszweck erforderlich ist. Glücklicherweise gehen wir evolutionär vor und haben immer noch 60% vom alten Steel Beasts 1-Code in der aktuellen Version enthalten, so daß wir die Grafik erst als letzten Entwicklungsschritt aufbohren werden statt damit anzufangen, wie das so häufig bei Spieleentwicklern der Fall ist. Die können dann häufig viel vom alten Arbeitsergebnis wegwerfen, sobald eine neue DirectX-Version herauskommt. Aber das Gesamtergebnis muß ja stimmen, so daß wir aus anderen Gründen mehr Zeit brauchen, aber im Ergebnis genauso spät mit einem DirectX 9-Spiel herauskommen werden, wie jene, die seit letztem Sommer an einer neuen Engine arbeiten, weil die alte wieder obsolet geworden ist.