PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Final" DX9 specs?


nagus
2002-08-17, 21:34:52
sind das die finalen DX9 Specs (http://www.neowin.net/comments.php?id=6066&category=main ) ?? hab leider im moment keine zeit mir das genauer anzuschauen....



schönen abend

Korak
2002-08-17, 21:38:12
link-->linkt nicht

Edit: link-->linkt

nagus
2002-08-17, 21:38:32
jetzt schon

Demirug
2002-08-17, 21:42:51
Die Datei enthält die API Änderungen von DX 8.1 zu DX9 Beta 2. Muss also nicht Final sein.

nagus
2002-08-18, 13:38:18
kann man da schon was rauslesen bezüglich cineFX von Nvidia? wurde das jetzt von microsoft implementiert, ja, oder nein?

Demirug
2002-08-18, 14:04:53
Ich beziehe mich jetzt nur mal auf das Shader dokument da das zweite Dokument für nicht programmier wahrscheinlich zu technisch ist.

Es gibt in DX9 3 neue Shader Versionen 2.0 2.x 3.0. Das gilt für Vertex und Pixelshader.

Die Vertex und Pixelshader 2.0 entsprechen dem was ATi als Techlevel für den R300 bisher offengelegt hat.

Vertex Shader:

2.x ist nun sowas wie ein erweiterter 2.0 Shader. Die zusätzlichen möglichkeiten sind aber optionen die vom entwickler abgefragt werden müssen ob sie der Chip auch wirklich unterstützt. Der NV30 wird nach den vorliegenden Informationen beim Vertexshader alle Optionen nutzen aber nicht immer bis ans maximum der Spec gehen. Für VS 3.0 ist derzeit wohl noch kein Chip in Sicht. Was allerdings die Frage nach dem warum aufwirft. Möglicherweise kann der P10 das dort geforderte.

Pixel Shader:

Bei 2.x haben wir die gleiche Situation wie bei den VS. Der NV30 unterstützt wohl auch hier die meisten Optionen. Allerdings gibt es von NVIDIA keine direkte Aussagen zur Flowcontrol. Allerdings läst die Aussage "All the features of GeForce4 vertex programs – for pixels!" darauf schliessen das es keine geben wird. PS 3.0 ist scheinbar als blick in die Zukunft zu sehen da auch hier wohl erst mal kein Chip beim erscheinen von DX9 die Forderungen erfüllen kann.

Exxtreme
2002-08-18, 14:11:49
Originally posted by Demirug


Vertex Shader:

2.x ist nun sowas wie ein erweiterter 2.0 Shader. Die zusätzlichen möglichkeiten sind aber optionen die vom entwickler abgefragt werden müssen ob sie der Chip auch wirklich unterstützt.
Hmm, war es eigentlich nicht DER Vorteil von DX ggü. OpenGL, daß man keine Extratouren für verschiedene Grafikchips unternimmt? Da scheint MS sich auch nicht so schlüssig zu sein, oder?

Gruß
Alex

Demirug
2002-08-18, 14:42:23
Originally posted by Exxtreme

Hmm, war es eigentlich nicht DER Vorteil von DX ggü. OpenGL, daß man keine Extratouren für verschiedene Grafikchips unternimmt? Da scheint MS sich auch nicht so schlüssig zu sein, oder?

Gruß
Alex

Exxtreme,

es ist schon immer so das man bei D3D abfragen muss ob ein Chip ein Feature hat oder nicht. Darin unterscheiden sich OpenGL und DX erst mal nicht. Der unterschied kommt danach. Wenn ein Treiber meldet das er ein Feature unterstützt muss er sich genau an die DX Spezifikation halten. Bei OpenGL darf jeder Hersteller für zusätzliche Features seine eigene Spec schreiben.

Beide Wege haben Vor und Nachteile

OpenGL:

Pros:
- API erlaubt es das alle Features eines Chips durch Extension unterstützt werden.
- neue Features können vom Chip-Hersteller integriert werden. Dadurch stehen sie dem Entwickler meistens schneller zur Verfügung.
- Portabel

Cons:
- Die Einführung allgemeiner Extensions dauert meistens etwas länger.
- Um optimale ergebnisse zu erhalten kommt man um den Einsatz von Hersteller spezifischen Extension nicht herum. Da dann für jeden Hersteller ein eigner Codepfad geschrieben werden musss besteht die Gefahr das die Entwickler nur die "grossen" Hersteller berücksichtigen.


DirectX:

Pros:
- Wird ein Feature unterstützt muss es von allen Treibern auf die gleiche weisse unterstützt werden -> Nur ein Renderpfad mit ein und auschaltbaren optionen.
- Kleinere Hersteller müssen lediglich einen guten Treiber schreiben und nicht die Spieleentwickler davon überzeugen das sie für ihrer Karte einen Renderpfad einbauen.
- Planungssicherheit für Entwickler und Hersteller. Die DX Spec stellt einigermassen sicher das sich alle Hersteller auf einen einigermassen einheitlichen weg einigen

Cons:
- Windows only (andere Systeme nur über DX-Layer)
- Es werden nicht alle möglichen Features der Chips unterstützt

zeckensack
2002-08-18, 19:51:01
Augenfreundliche und einheitliche Syntax
Relativ konstante Struktur (guter GL1.0-Code ist automatisch auch guter GL1.4-Code)

edit: ;)

Hauwech
2002-08-18, 23:01:53
Is eigentlich OGL oder DX leichter zu programmieren?
IIRC ist doch JC damals (DX6? oder frueher?) von DX nicht so begeistert gewesen und deshalb OGL genommen, oder nicht?

KiBa
2002-08-19, 12:46:13
Originally posted by zeckensack
Augenfreundliche und einheitliche Syntax
Relativ konstante Struktur (guter GL1.0-Code ist automatisch auch guter GL1.4-Code)

edit: ;)

tja, so unterscheiden sich die geschmäcker... ;)
als ich mit programmieren angefangen habe, wollte ich mich an opengl versuchen, der syntax allgemein war ja schon ein graus für mich.
eine wohltat war dann d3d, wo ich z.b. mit vertex-buffern und texturen direkt umgehen konnte. (z.b. als referenz bestimmten funktionen übergeben) das macht die funktionsaufrufe zwar manchmal größer, weil nicht alles als state-machine gelöst wurde, aber es lässt sich um welten besser debuggen. ich habe mit d3d einfach weniger fehler gemacht, auch die unterteilung der transformationsmatrix in view, world und projektions-matrix hat mir als anfänger extrem geholfen. hinzu kommen die sehr guten und standardisierten d3dx-erweiterungen.
letztendlich habe ich mich von ogl abgewendet, als ich unter windows (was nur opengl 1.1 unterstützt) einen haufen extensions anfordern musste, teilweise grafikkartenspezifisch. die notwendige aufteilung in mehrere renderpfade (wenn mein programm auch andere hersteller unterstützen sollte) und das jonglieren mit funktions-zeigern hat mir dann den rest gegeben, den umstieg auf d3d habe ich nei bereut. (plattformunabhängigkeit ist mir unwichtig) naja, mein programm ist mittlerweile so geschrieben, dass es unabhängig der api arbeitet, vielleicht tue ich mir opengl nochmal an zum spaß...
naja, jedem das sein ;)