TEVs sind ähnlich wie Pixel Shaders sind aber effektiver einsetzbar und ressourcenfreundlicher.
Es gibt TEVs (Texture EnVironments) soweit nur auf Nintendos Hardware.
Sowohl TEVs als auch Pixel Shader sind beides im Grunde Akronyme für die eigentlich verwendeten "Color Combiners".
Der TEV unterstützt noch zusätzlich in der Pipeline Leseaufgaben (Erklärung weiter unten).
Ein "Color Combiner" ist im Grunde eine einfache implementierte logische Operation auf Hardwareebene.
------------------------------------------------------------------------------------
Im Fall von
Shaders ist die Struktur der Hardware sogar publiziert und in den Register Combiner auffindbar
(
http://www2.imm.dtu.dk/~jab/shaderday/vprc.pdf ).
Eine logische Operation im Register Combiner sieht im Normalfall für Shaders so aus:
A op1 B op2 C op1 D
A,B,C,D sind in dem Fall einfache Werte bzw. Variablen (im Grunde Texturen).
op1 kann "Multiplizieren" oder das "Skalarprodukt" bilden
op2 kann "zufügen/addieren" oder "aussondern/subtrahieren"
Wenn man also diese Register (mit A,B C,D) öfters aufruft und mit Abänderungen im Register wiederholt kann man sozusagen grundlegende Mathematik anwenden.
Sprich, man macht im Register eine logische Operation, hat anschließend ein 1.Ergebnis und füttert dass Register mit dem 1.Ergebnis + weiteren Werten, und führt nochmals Operationen durch. Dann erhält man ein 2. Ergebnis und verändert es mit anderen Werten wieder über Operationen im Register um ein 3. Ergebnis zu erhalten usw.
Das macht man solange bis man sein letztes Ergebnis (Die Zieltextur) hat.
Zum Verdeutlichen:
Textur lesen
Textur lesen
Textur lesen
Textur lesen
_____________________
Combiner Op (Operation)
Combiner Op
Combiner OP
Combiner OP
Combiner OP
Combiner OP
Combiner OP
Combiner OP
-------------------------------------------------------------------------------------
Im Fall für
TEV sehen die Operationen anders aus und sind leider auch nicht veröffentlicht worden.
Ich kann nur sagen, dass die Operationen im Register Combiner bei TEV
vereinfachter aussehen als bei Shader und etwas eingeschränkter sind.
Aber bei TEV kann die Operation während des Lesevorgangs geschehen.
Sprich man liest eine Textur in das Register und kann sie sofort bearbeiten lassen, und somit die Textur mit anderen Texturen operieren.
Das heißt man ließt einen Wert (Textur), operiert ihn, liest den nächsten Wert und operiert ihn, solange bis man das gewünschte Ergebnis hat.
Bei den Shadern würde man dafür eine Mehrfachdurchlauf von den Registern benötigen.
Zum Verdeutlichen
Textur lesen
Combiner OP
Combiner OP
Textur lesen
Combiner OP
Combiner OP
Textur lesen
Combiner OP
Combiner OP
Textur lesen
Combiner OP
Combiner OP
Das heißt TEV sind
-schneller einsatzbereit (da nur einmal durchlaufen müssen)
-ressourcensparender (da nur ein Register benötigt wird und keine wiederholung vom Register auftritt und somit kein zusätzlicher Rechenaufwand benötigt wird)
-komplexe Aufgaben sind leichter zu überwinden (aufgrund der fehlenden wiederholdungen von Textur lesen und operieren)