PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterschied: T&L - Shader


paul.muad.dib
2005-06-02, 23:17:00
Nachdem ich des öfteren auf den Begriff des T&L gestoßen bin, habe ich mich mal kundig gemacht, worum es sich hanelt. Die gefundenen Informationen waren ziemlich spärlich. Ich habe mir aber nun das folgende zusammengereimt und wollte fragen, ob das so stimmt.

T&L berechnet Geometriedaten auf Basis von Vertices, also Eckpunkten. Der Lighting Teil kann also immer nur die ganze Fläche eines Polygons gleich behandeln, wärend Pixel Shader eben für jeden Pixel einen eigenen Farbwert berechnen.

Ist T&L also er moderne Vertex Shader? Was sind sonst die größten Unterschiede, abgesehen von den erweiterten Möglichkeiten von Shadern, der beide Technologien? Oder habe ich das jetzt falsch verstanden und man kann sie gar nicht vergleichen.

Danke für eure Hilfe, meinen Wissensdurst zu stillen!

Brillus
2005-06-02, 23:24:53
T&L ist kurz gesagt der nicht programmierbare Vorgänger von Shaderen.
Auf jeden Fall soweit es die Vertexshader und das T in T&L angeht wie es mit dem L ist kann ich dir nicht sagen, der Vorgänger von Pixelshader würde ich aber sagen ist es Multitexturing, da bin ich mir aber eher unsicher.

Auf jeden Fall sind Shader
1. Neuer wie T&L
2. Programmierbar

aths
2005-06-02, 23:53:14
Nachdem ich des öfteren auf den Begriff des T&L gestoßen bin, habe ich mich mal kundig gemacht, worum es sich hanelt. Die gefundenen Informationen waren ziemlich spärlich. Ich habe mir aber nun das folgende zusammengereimt und wollte fragen, ob das so stimmt.

T&L berechnet Geometriedaten auf Basis von Vertices, also Eckpunkten. Der Lighting Teil kann also immer nur die ganze Fläche eines Polygons gleich behandeln, wärend Pixel Shader eben für jeden Pixel einen eigenen Farbwert berechnen.

Ist T&L also er moderne Vertex Shader? Was sind sonst die größten Unterschiede, abgesehen von den erweiterten Möglichkeiten von Shadern, der beide Technologien? Oder habe ich das jetzt falsch verstanden und man kann sie gar nicht vergleichen.

Danke für eure Hilfe, meinen Wissensdurst zu stillen!T&L ist der Vorgänger vom Vertexshader. Während man bei T&L nur die Werte angeben kann, mit denen eine feste Transformationsformel ausgeführt wird, lässt sich der Vertexshader je nach Version mehr oder weniger frei programmieren.

Der L-Teil bezieht sich wie der T-Teil immer auf Eckpunkte. Für ein Dreieck, welches drei Ecken hat, können somit drei Farbwerte berechnet werden. (Zur größeren Flexibilität kann man sogar zwei Farben pro Eckpunkt angeben.)

T&L bzw. Vertexshader sitzen vor der Multitexturing- bzw. Pixelshader-Pipeline. Zwischen den beiden steht das Triangle Setup.

paul.muad.dib
2005-06-03, 00:34:51
Kann ich dann vereinfacht sagen, dass bei T&L die GPU feste Matrizenoperationen berechnet, die sonst die CPU übernimmt, während bei Vertex Shadern festgelegt werden kann welche Operation ausgeführt wird?

aths
2005-06-03, 01:21:38
Das kann man vereinfacht so sagen, ja.

paul.muad.dib
2005-06-03, 11:44:58
Vielen Dank für die guten und schnellen Antworten.

PrefoX
2005-06-04, 20:44:21
T&L ist kurz gesagt der nicht programmierbare Vorgänger von Shaderen.
Auf jeden Fall soweit es die Vertexshader und das T in T&L angeht wie es mit dem L ist kann ich dir nicht sagen, der Vorgänger von Pixelshader würde ich aber sagen ist es Multitexturing, da bin ich mir aber eher unsicher.

Auf jeden Fall sind Shader
1. Neuer wie T&L
2. Programmierbar
Meinst du jetzt Neuer als T&L oder neuer wie T&L?

wenn wie dann versteh ich das net :|

Gast
2005-06-04, 21:02:57
Meinst du jetzt Neuer als T&L oder neuer wie T&L?

wenn wie dann versteh ich das net :|

T&L gibt es schon seit den anfangstagen der 3D-spiele und wurde damals auf der cpu gerechnet.

mit der Geforce 256 hatte man erstmals eine recheneinheit in die GPU eingebaut die derartige berechnungen nach fest vorgegebenen funktionen rechnen konnte.

der vorteil war natürlich die deutlich höhere rechenleistung der gpu verglichen zur cpu. der damit erkaufte nachteil war allerdings dass man die verwendeten funktionen im gegensatz zur cpu nicht frei programmierbar waren.

mit dem einführen der vertex-shader auf der geforce 3 wurde diese programmierbarkeit (zumindest zum teil) wieder zurückgegeben, natürlich mit der hohen geschwindigkeit in der gpu.

trotzdem machen die vertex-shader natürlich auch heute "nur" t&l-berechnungen, nur eben sehr gut programmierbar im gegensatz zum fixed-function t&l der geforce 1/2-reihe.

aths
2005-06-05, 11:02:28
T&L kann sich auch negativ Bandbreiten-Ersparnis via Backface Culling auswirken. Bei geschlossenen konvexen Körpern kann man mit Backface Culling unsichtbare Dreiecke gleich weglassen. Ob ein Dreieck unsichtbar ist weiß man natürlich erst nach der Transformation. Man muss also immer alle Dreiecke an die T&L-Unit der GPU schicken. Das geht auf die AGP-Bandbreite. Wenn man mit Vertex Buffern arbeitet belastet das natürlich nur die Graka-interne Bandbreite.