egdusp
2002-07-26, 21:04:29
Ein Verfahren massiv Bandbreite zu sparen, wäre die Texturen direkt im Grafikchip zu erzeugen.
Ich weiß nicht, ob MS dies in einer zukünftigen DX Version realisieren will, oder ob die bestehenden Pixelshader flexibel und schnell genug sind. Dies ist nicht spezifisch auf den NV30 beschränkt, aber gerade nVida betont ja immer wieder, dass der NV30 bessere Pixel erzeugt. Das dies entweder eine reine Marketing Aussage sein kann, bzw. von einem evtl. 128 bit Interface ablenken soll, ziehe ich als Möglichkeit durchaus in Betracht. Nichtsdestotrotz ändert sich an der reinen Möglichkeit nichts, also bitte hier nicht rumflamen.
Ich kam darauf als ich dieses 64K !!!Grafikdemo gesehen habe: http://www.farb-rausch.de/fr08_final.zip
von den Jungs von Farbrausch www.farb-rausch.de (am Besten alle anschauen, lohnt sich).
Dabei werden alle Texturen prozedural erzeugt, danach aber konventionell abgespeichert. Meine Überlegung ist nun, dass dies in zukünftigen (oder sogar heutigen) Chips direkt in der Hardware möglich ist. D.h. es werden alle Texturerzeugungsroutinen im GraKa Cache gespeichert und bei Bedarf direkt zur Pixelerzeugung verwendet.
Dies müsste kein Ersatz der konventionellen Texturen sein, sondern eine Ergänzung.
Ein weiterer Vorteil wäre die unendliche Auflösung der Texturen, keine Blockbildung mehr, kein Trilinearer Filter mehr nötig.
Dabei wären folgende Probleme zu lösen:
1. Die Texturerzeugungsroutinen dürften nicht iterativ sein, d.h. jeder Punkt einer Textur müsste sich direkt erzeugen lassen.
2. Die Routinen müssten so kurz sein, das der Pixelshader (oder in zukünftigen Chips eine extra Einheit) in einem Takt (oder zumindest in wenigen) erzeugen kann.
Dies führt mich zu einer allgemeinen Frage zu Pixelshadern: Wieviel Instruktionen pro Takt können diese ausführen?
Wenn man sich das in einem anderen Thread gepostet R300 Holzbild anschaut, dann sind das ja 20-30 Assemblerinstruktionen pro Pixel (nehme ich an).
Kommentare bitte.
mfg
egdusp
Ich weiß nicht, ob MS dies in einer zukünftigen DX Version realisieren will, oder ob die bestehenden Pixelshader flexibel und schnell genug sind. Dies ist nicht spezifisch auf den NV30 beschränkt, aber gerade nVida betont ja immer wieder, dass der NV30 bessere Pixel erzeugt. Das dies entweder eine reine Marketing Aussage sein kann, bzw. von einem evtl. 128 bit Interface ablenken soll, ziehe ich als Möglichkeit durchaus in Betracht. Nichtsdestotrotz ändert sich an der reinen Möglichkeit nichts, also bitte hier nicht rumflamen.
Ich kam darauf als ich dieses 64K !!!Grafikdemo gesehen habe: http://www.farb-rausch.de/fr08_final.zip
von den Jungs von Farbrausch www.farb-rausch.de (am Besten alle anschauen, lohnt sich).
Dabei werden alle Texturen prozedural erzeugt, danach aber konventionell abgespeichert. Meine Überlegung ist nun, dass dies in zukünftigen (oder sogar heutigen) Chips direkt in der Hardware möglich ist. D.h. es werden alle Texturerzeugungsroutinen im GraKa Cache gespeichert und bei Bedarf direkt zur Pixelerzeugung verwendet.
Dies müsste kein Ersatz der konventionellen Texturen sein, sondern eine Ergänzung.
Ein weiterer Vorteil wäre die unendliche Auflösung der Texturen, keine Blockbildung mehr, kein Trilinearer Filter mehr nötig.
Dabei wären folgende Probleme zu lösen:
1. Die Texturerzeugungsroutinen dürften nicht iterativ sein, d.h. jeder Punkt einer Textur müsste sich direkt erzeugen lassen.
2. Die Routinen müssten so kurz sein, das der Pixelshader (oder in zukünftigen Chips eine extra Einheit) in einem Takt (oder zumindest in wenigen) erzeugen kann.
Dies führt mich zu einer allgemeinen Frage zu Pixelshadern: Wieviel Instruktionen pro Takt können diese ausführen?
Wenn man sich das in einem anderen Thread gepostet R300 Holzbild anschaut, dann sind das ja 20-30 Assemblerinstruktionen pro Pixel (nehme ich an).
Kommentare bitte.
mfg
egdusp