PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TNL und DX9


LeChuck
2004-01-13, 19:54:48
Hallo!

Ich müsste mal ein paar grundlegende Dinge wissen.
Viele neue Spiele haben als Systemvorraussetzung DirectX 9.0 und/oder TNL-Grafikkarte.

1. Ich weiss das die GF256 die erste Karte mit TNL war. haben alle aktuellen Karten, bzw. alle Karten nach der GF256 TnL?

2. Was hat dieses TNL mit DX9 zu tun? Funzt DX9 nur wenn die Karte TnL hat?

3. Wenn die Karte kein TnL hat, könnte man das softwareseitig lösen, z.B. durch Treiber oder emulatoren?

4. Gibt es überhaupt aktuelle "DX9 Games" (echte DX9 Games gibt es ja noch kaum) die ohne TNL laufen würden.

Fragen über Fragen... aber irgendwie versteh ich die Zusammenhänge nicht.....

Kinman
2004-01-13, 19:57:29
TnL ist ein DirectX Feature sozusagen.
Somit haben auch alle neueren Karten TnL.

TnL ist grundsetzlich so etwas wie ein fix verdrahteter Shader. (tnL heißt Transform and Lighting)

mfg Kinman

LeChuck
2004-01-13, 20:08:10
Welche DX versionen verlangen TnL?
Ist TnL denn zwingend erforderlich?

Tesseract
2004-01-13, 20:26:37
Original geschrieben von LeChuck
1. Ich weiss das die GF256 die erste Karte mit TNL war. haben alle aktuellen Karten, bzw. alle Karten nach der GF256 TnL?


fast alle
die kyros und die voodoos haben zB keine
die Radeon 9500-9800XT auch nicht, wird jedoch über die viel flexibleren shader so schnell emuliert als hätte sie eine

Original geschrieben von LeChuck
2. Was hat dieses TNL mit DX9 zu tun? Funzt DX9 nur wenn die Karte TnL hat?


DX9 funzt auch mit non-TnL karten
um DX9 effekte darstellen zu können braucht man allerdings DX9-shader in hardware und diese gehen sowieso weit über TnL hinaus

Original geschrieben von LeChuck
3. Wenn die Karte kein TnL hat, könnte man das softwareseitig lösen, z.B. durch Treiber oder emulatoren?


ja, dann macht es entweder wieder die CPU (wie vor TnL) oder zB die shader

LeChuck
2004-01-13, 20:31:59
Erst mal Danke für eure Antworten. Ich versteh das jetzt schon (etwas) besser... :)

Ich versuch das mal zu konkretisieren: Warum lüft ein aktuelles Spiel nicht auf einer sagen wir mal ATI Rage Fury 32 MB?

Keel
2004-01-13, 20:34:01
Original geschrieben von LeChuck
Hallo!

Ich müsste mal ein paar grundlegende Dinge wissen.
Viele neue Spiele haben als Systemvorraussetzung DirectX 9.0 und/oder TNL-Grafikkarte.

1. Ich weiss das die GF256 die erste Karte mit TNL war. haben alle aktuellen Karten, bzw. alle Karten nach der GF256 TnL?

2. Was hat dieses TNL mit DX9 zu tun? Funzt DX9 nur wenn die Karte TnL hat?

3. Wenn die Karte kein TnL hat, könnte man das softwareseitig lösen, z.B. durch Treiber oder emulatoren?

4. Gibt es überhaupt aktuelle "DX9 Games" (echte DX9 Games gibt es ja noch kaum) die ohne TNL laufen würden.

Fragen über Fragen... aber irgendwie versteh ich die Zusammenhänge nicht.....
1. Afaik wird das TnL jetzt vom Vertex Shader übernommen. Prinzipiell muss es TnL zwanzgsläufig noch geben, da es eine Grundvoraussetzung ist, aber meines Wissens wird das heute anders gehandhabt als zu GF1-Zeiten. Eine Karte muss also nicht direkt TnL können, da das über die VS geregelt wird.

2. Das ist eindeutig. TnL ist eine ganz primitive Vorausetzung für DX überhaupt (weiß gar nicht mehr, ab welcher Version das eingeführt wurde - DX6?). Eine DX9-Karte muss also zwangsläufig TnL-fähig sein, also braucht jedes DX9-Spiel auch mindestens eine TnL-fähige Karte (oder halt eben übe rdie VS). Man hat dann zwar nicht alle Effekte und das dürfte auch extrem langsam laufen, aber zumindest könnte man das Spiel noch theoretisch spielen. Wenn die Karte nicht einmal TnL könnte, würde das Spiel wohl erst gar nicht installiert werden.

3. Das wird quasi über den aktuellen Vertex Shader geregelt.

4. Naja, Halo, TRAOD etc. haben zwar ein paar DX9-Effekte, aber ein DX9-Beschleuniger ist noch lange keine Voraussetzung. Vorrausetzung ist eben nach wie vor nur eine TnL-fähige Karte.

@ LeChuck

Ja, das ist eine grundlegende Voraussetzung. Mit DX6 wurde das glaube ich eingeführt.
Ich versuch das mal zu konkretisieren: Warum lüft ein aktuelles Spiel nicht auf einer sagen wir mal ATI Rage Fury 32 MB?
Sie ist zu alt. Sie kann weder TnL noch hat sie einen Vertex Shader.

PS: Ich übernehme keine Garantie für die Richtigkeit. :D

LeChuck
2004-01-13, 20:38:14
Original geschrieben von Keel
PS: Ich übernehme keine Garantie für die Richtigkeit. :D

Hört sich aber schon mal gut an :) :) :) THX!!!

Tesseract
2004-01-13, 20:38:27
Original geschrieben von Keel
(weiß gar nicht mehr, ab welcher Version das eingeführt wurde - DX6?)

bei DX7 war es noch kein zwangsfeature sondern nice2have
bei DX8 ist es in den shadern schon mitdefiniert

Kinman
2004-01-13, 20:40:11
TnL ist ab DirectX 7 plicht ;)

Daran das neue Spiele auf keine Rage Fury laufen sind u.a. auch die Geringe Leistung des Chips / Speichers schuld ;)

Tesseract
2004-01-13, 20:41:41
nein ist es nicht

jedes DX7 spiel rennt auf einer voodoo oder kyro genauso wie auf der GF

unterstützt wurde es erstmal in DX7
pflicht erst ab DX8

LeChuck
2004-01-13, 20:53:19
Original geschrieben von LeChuck 3. Wenn die Karte kein TnL hat, könnte man das softwareseitig lösen, z.B. durch Treiber oder emulatoren?

Original geschrieben von Tesseract
ja, dann macht es entweder wieder die CPU (wie vor TnL) oder zB die shader

Original geschrieben von LeChuck Warum lüft ein aktuelles Spiel nicht auf einer sagen wir mal ATI Rage Fury 32 MB?

Original geschrieben von Tesseract
Sie ist zu alt. Sie kann weder TnL noch hat sie einen Vertex Shader.

Das irritiert mich dann jetzt aber doch :)
Wenn sie es nicht kann, warum macht es dann nicht die CPU?

Tesseract
2004-01-13, 21:09:27
Original geschrieben von LeChuck
Das irritiert mich dann jetzt aber doch :)
Wenn sie es nicht kann, warum macht es dann nicht die CPU?

technisch ist es möglich, das heißt nicht das es so passieren muss

wenn ein spiel TnL fix vorraussetzt, eine graka dieses aber nicht kann muss sie dem spiel natürlich vorgaukeln das sie es kann
die kyro2(SE afaik) hatte eine software-TnL-emulation im treiber wodurch "TnL-spiele" auch laufen (über die CPU)

LeChuck
2004-01-13, 21:14:17
Gäbe es eine externe Software mit der man TnL vorgaukeln könnte?

ow
2004-01-13, 21:15:36
.

Korak
2004-01-13, 21:20:38
Original geschrieben von LeChuck
Gäbe es eine externe Software mit der man TnL vorgaukeln könnte?

Maybe 3D-Analyzer.

Kinman
2004-01-13, 22:33:26
Original geschrieben von Tesseract
nein ist es nicht

jedes DX7 spiel rennt auf einer voodoo oder kyro genauso wie auf der GF

unterstützt wurde es erstmal in DX7
pflicht erst ab DX8

sry..hab deinen post noch nicht gesehen ghabt

MegaManX4
2004-01-13, 22:52:22
Original geschrieben von Korak
Maybe 3D-Analyzer.

Genau, und den gibt es hier:

http://www.tommti-systems.com/main-Dateien/files.html

TheCounter
2004-01-14, 03:16:10
@LeChuck

Ich hab mal ein paar Links rausgekramt die dich evlt. interessieren könnten:

http://www-user.tu-chemnitz.de/~andy/haupt/4/Kapitel4.html
http://www.nvidia.de/object/IO_20010601_4867.html
http://www.3dcenter.de/artikel/t_und_l/

Auch interessant ist dieser Artikel, hier werden die einzelnen DirectX Versionen angesprochen, auch in zusammenhang mit TnL:

http://www.pc-erfahrung.de/Index.html?DirectX.html

aths
2004-01-14, 05:05:17
Original geschrieben von LeChuck
Hallo!

Ich müsste mal ein paar grundlegende Dinge wissen.
Viele neue Spiele haben als Systemvorraussetzung DirectX 9.0 und/oder TNL-Grafikkarte.

1. Ich weiss das die GF256 die erste Karte mit TNL war. haben alle aktuellen Karten, bzw. alle Karten nach der GF256 TnL?Jain :) GF256 hat T&L nach DX7. Diese Spec orientierte sich allerdings daran, was GF256 für eine T&L-Einheit hat :) Alle DX8- und DX9-Karten können Hardware-T&L à la DX7 nutzen. Afaik kann die GF-T&L sogar noch etwas mehr, als in der DX-Spec vorgesehen, das weiß ich jetzt aber nicht genau.
Original geschrieben von LeChuck
2. Was hat dieses TNL mit DX9 zu tun? Funzt DX9 nur wenn die Karte TnL hat? DirectX9-Kompatibilität setzt DirectX7-Treiber voraus. Zur DirectX7-Compliance ist HW-T&L afaik nicht zwingend erforderlich. Die gleiche Funktionalität lässt sich via SW-T&L realisieren. (Für DirectX8-Compliance hingegen sind Pixel- und Vertexshader in HW zwingend.)
Original geschrieben von LeChuck
3. Wenn die Karte kein TnL hat, könnte man das softwareseitig lösen, z.B. durch Treiber oder emulatoren?Ist in DirectX schon drin, eben SW T&L zu nutzen. Für Voodoo-Karten gibts aber auch Treiber, die eine HW T&L-Einheit emulieren. Bringt beim 3DMark2000 je nach CPU ein wenig mehr Performance.
Original geschrieben von LeChuck
4. Gibt es überhaupt aktuelle "DX9 Games" (echte DX9 Games gibt es ja noch kaum) die ohne TNL laufen würden. Nein. T&L wird von modernen 3D-Spielen praktisch vorausgesetzt. Spiele wie Max Payne2 können aber weiterhin auf SW T&L ausweichen.

Gast
2004-01-14, 07:54:03
Original geschrieben von aths
(Für DirectX8-Compliance hingegen sind Pixel- und Vertexshader in HW zwingend.)


PS ja, bei den VS glaube ich das nicht.
Die kann auch weiterhin die CPU berechnen.

mapel110
2004-01-14, 09:33:05
Original geschrieben von Gast
PS ja, bei den VS glaube ich das nicht.
Die kann auch weiterhin die CPU berechnen.

naja, der xabre machts afaik so, aber dennoch ist das ganze auch bei ihm wohl etwas "hardwareassisted".

ists eigentlich noch bei dx9 möglich, den VS-part von der CPU zu berechnen, oder reicht dafür die power einer CPU nicht mehr aus?

ow@work
2004-01-14, 10:09:19
Original geschrieben von mapel110


ists eigentlich noch bei dx9 möglich, den VS-part von der CPU zu berechnen, oder reicht dafür die power einer CPU nicht mehr aus?

Haengt imo nur von der Komplexitaet des Shaders ab.

Ein DX9 VS2.0 kann ja auch einfach nur eine T&L Operation ausfuehren.

Bei den VS3.0 mit Texturzugriff koennte es aber problematisch werden. Testurieren liegt den CPUs nicht so.

zeckensack
2004-01-14, 10:23:32
Original geschrieben von aths
Jain :) GF256 hat T&L nach DX7. Diese Spec orientierte sich allerdings daran, was GF256 für eine T&L-Einheit hat :Jein. Diese Spec war einfach nur eins zu eins von OpenGL geklaut, genau wie alles andere in DX<=7 auch. NV10 unterstützte exakt dieses OpenGL-Modell.

Demirug
2004-01-14, 11:27:29
Original geschrieben von zeckensack
Jein. Diese Spec war einfach nur eins zu eins von OpenGL geklaut, genau wie alles andere in DX<=7 auch. NV10 unterstützte exakt dieses OpenGL-Modell.

:nono: MS klaut zwar gernen aber alles in DX ist auch nicht von OpenGL übernommen. Niemand im ARB ist jemals auf sowas gnadenlosses wie Execute-Buffers auf API-Level gekommen.