PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Pixelshader" und OpenGL (war: Basiert Doom3 jetzt auf OpenGL oder nicht?)


Gast
2004-08-12, 14:14:28
Wegen der Meldung zum Release von OGL2 im ct newsticker fand ich im ct-Forum diese interessante Frage, samt Tread:

Wenn jetzt erst die Unterstützung von Shadern möglich ist, wieso gibt
es dann schon Shader-Effekte in Doom3?

Oder doch kein OpenGL in Doom3?


http://www.heise.de/newsticker/foren/go.shtml?read=1&msg_id=6225945&forum_id=62672

BTW, Möchte mir ausnahmsweise mal erlauben die Frage (ich hab sie dort nicht gestellt!) hier zu posten
Wie denkt ihr darüber?

up

nggalai
2004-08-12, 14:19:07
DooM3 verwendet OpenGL für die Grafik und DirectX für den Sound.

Diese ganzen Versionsnummern à la Pixelshader2.0, DirectX9, OpenGL2 etc. sind wirklich kontraproduktiv. Langsam verstehe ich Zeckensack ...

93,
-Sascha.rb

zeckensack
2004-08-12, 14:48:31
Der zugrundeliegende Denkfehler hierbei ist, dass man unter OpenGL keine "Shader" benutzen kann. Noch falscher geht's nicht mehr. Ich erwarte ja nicht von jedem Laien, dass er sich mit 3D-APIs bis in die letzte Ecke auskennt, aber wenn ich sowas lese, könnte ich echt in die Tischkante beissen. Klarer Fall von "FUD gefressen, verdaut und wiedergegeben".

Ich zähle jetzt mal ein paar Extensions auf. Sollte sich irgendwem die Frage "ab wann?" stellen, so bitte ich die Dokumente mal anzusehen. Dort wird immer festgehalten, wann die Dokumente ursprünglich veröffentlicht wurden, und wann Revisionen stattfanden. Das sollte ausreichen um die "ab wann?"-Frage zu beantworten.

"Pixel Shader":
Den NV20 kann man mit NV_register_combiners (http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt) und NV_texture_shader (http://oss.sgi.com/projects/ogl-sample/registry/NV/texture_shader.txt) voll ausreizen -- und bekommt auf dieser Chipfamilie damit auch mehr Effekte hin als unter DirectX Graphics.

Den R200 und seine Derivate (RV250, RV280) bedient man mit ATI_fragment_shader (http://oss.sgi.com/projects/ogl-sample/registry/ATI/fragment_shader.txt). Leider fehlt hier die Fähigkeit zur Ersetzung des Z-Werts im Shader, ansonsten entspricht dies ziemlich genau "PS1.4".

Für die "DX9"-Klasse an Chips existiert das herstellerübergreifende ARB_fragment_program (http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt). Und es gibt noch einige NVIDIA-spezifische Extensions zur Ausnutzung der vollen "CineFX"-Fähigkeiten, die ich hier nicht weiter aufzählen möchte. Dies sind Assembler-Interfaces.

Das Hochspracheninterface bildet sich aus ARB_fragment_shader (http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_shader.txt) und ARB_shading_language_100 (http://oss.sgi.com/projects/ogl-sample/registry/ARB/shading_language_100.txt). Das ist "GLslang", also die massgebliche Neuerung in GL2.0. Funktionalität nach oben offen, wird also noch eine Weile halten. Nutzen konnte man das trotzdem schon vor vielen Monaten (http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_fragment_shader) ...


"Vertex Shader":
ATI setzte hier zu Beginn auf EXT_vertex_shader (http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt), was im Funktionsumfang "VS1.1" entspricht, allerdings ein etwas merkwürdiges Interface besitzt.

NVIDIA entschied sich frühzeitig für eine Text-basierte API für Assembler-Programme: NV_vertex_program (http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt).

Aus diesen beiden erwachsen ist ARB_vertex_program (http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt), ebenfalls Text-basiert, und natürlich herstellerübergreifend.

Auch daraus wurde letztendlich ein Hochspracheninterface: ARB_vertex_shader (http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_shader.txt), was wieder in Kombination mit ARB_shading_language_100 (http://oss.sgi.com/projects/ogl-sample/registry/ARB/shading_language_100.txt) zu betrachten ist. Die Funktionalität ist dabei "nach oben offen". Dies als Äquivalent zu "VS3.0" zu bezeichnen ist daher nur eine anschauliche Untertreibung, eine Lüge für Kinder.


Ich schreibe das nicht nochmal ...

Wenn du auf Heise registriert bist, dann richte dem netten Herrn doch bitte aus, dass er ruhig auch mal die Fresse halten kann, wenn er über keinerlei Peilung verfügt. Darfst mich auch namentlich erwähnen. Oder verlink ihn einfach hier hin. Diese Idiotie muss aufhören :usad:

nggalai
2004-08-12, 14:54:35
Wenn du auf Heise registriert bist, dann richte dem netten Herrn doch bitte aus, dass er ruhig auch mal die Fresse halten kann, wenn er über keinerlei Peilung verfügt. Darfst mich auch namentlich erwähnen. Oder verlink ihn einfach hier hin. Diese Idiotie muss aufhören :usad:
Genau.

*Threadtitel anpass*

*Thread sticken*

Danke! :D

93,
-Sascha.rb

Gast
2004-08-12, 17:01:27
Also das ging ja nach hinten los... sorry Zecki
Und Klasse! (für die Klärung)
Als kleine Wiedergutmachung diese Nvidia-info:
OpenGL 2.0 Update (http://developer.nvidia.com/object/opengl_2_0_update.html)
An update on the status of OpenGL 2.0 and several key extensions.


Noch mehr info:
http://developer.nvidia.com/object/newsletter_archive.html

up

Vedek Bareil
2004-09-12, 02:02:31
Der zugrundeliegende Denkfehler hierbei ist, dass man unter OpenGL keine "Shader" benutzen kann. Noch falscher geht's nicht mehr. Ich erwarte ja nicht von jedem Laien, dass er sich mit 3D-APIs bis in die letzte Ecke auskennt, aber wenn ich sowas lese, könnte ich echt in die Tischkante beissen. Klarer Fall von "FUD gefressen, verdaut und wiedergegeben". zwar OT, aber:

vielleicht kannst du jetzt etwas besser verstehen, wie es mir immer geht, wenn sich hier irgendwelche Witzbolde, die mal Lesch auf Bayern 3 geguckt oder Hawkings kurze Geschichte der Zeit gelesen haben, als Physik-Experten aufspielen.

Ach ja, und paß auf einen bestimmten Moderator auf, es könnte sein daß ihm dein Tonfall mißfällt ;)

grakaman
2004-09-19, 00:28:03
Ich als Laie habe da mal eine Frage. Wenn Doom3 für die Grafik auf OGL zugreift, wie machen die das dann für die XBox Portierung? Oder kann auf der XBox auch OGL ausgeführt werden?

mapel110
2004-09-19, 00:38:45
Ich als Laie habe da mal eine Frage. Wenn Doom3 für die Grafik auf OGL zugreift, wie machen die das dann für die XBox Portierung? Oder kann auf der XBox auch OGL ausgeführt werden?

soweit ich weiss, wird/wurde dafür ein D3D-renderer(bzw für die API-Modifikation davon, die die Xbox nutzt) geschrieben.

marco42
2004-09-21, 10:35:29
soweit ich weiss, wird/wurde dafür ein D3D-renderer(bzw für die API-Modifikation davon, die die Xbox nutzt) geschrieben.

Sicher? ich habe mal was von eines OpenGL treibers auf der xbox seitens nvidia gehoert. wollten sie zumindestens machen. unter linux auf der xbox geht AFAIK auch der nvidia opengl treiber. es sollte also nicht zu schwierig sein.

Brillus
2004-09-23, 18:54:24
Sorry ist etwas Offtopic aber ich fidne den Orginal Thread nichtmehr.

Ich war heute bei uns im Alphatec und bin das zufällig an einer Schachtel Doom3 vorbeigekommen, hab mir dann mal die Systemanforderungen angeschaut und was ich da gelsen habe fand ich schon witzig.

Direct9.0b kompatible Grafikkarte mit Direct9.0b kompatiblem Treiber.

^^Wenn man sowas lioest weis man auch warum manchmal so blöde Sprüche kommen.

AGENT_SMITH
2004-09-26, 02:16:00
in der letzter aussgabe von PCgames , da seht es drinne , DOOM3 läuft mit OPEN GL , Thema abgeschlossen , Moderator kannst des trade schliessen.
Danke!

sth
2004-09-26, 17:54:26
in der letzter aussgabe von PCgames , da seht es drinne , DOOM3 läuft mit OPEN GL , Thema abgeschlossen , Moderator kannst des trade schliessen.
Danke!
Um das zu wissen braucht man keine PC-Games...

Gast
2004-10-09, 17:13:31
soweit ich weiss, wird/wurde dafür ein D3D-renderer(bzw für die API-Modifikation davon, die die Xbox nutzt) geschrieben.


oh mann, man sollte meinen in diesem Forum treiben sich Experten rum...

doom3 auf xbox is ebenfalls auf openGL aufgebaut. xbox=geForce3 - geforce kann OpenGL. basta

zum thema: openGL hat schon immer pixel&vertex shader beherrscht, nur dass es keine hardware gab die shader schnell genug abarbeiten kann(bis gf3 kam) -> call of duty_staudamm(adfvanced_q3engine-opengl) level-wasser mit gf3 mal anschaun

Demirug
2004-10-09, 18:08:33
oh mann, man sollte meinen in diesem Forum treiben sich Experten rum...

doom3 auf xbox is ebenfalls auf openGL aufgebaut. xbox=geForce3 - geforce kann OpenGL. basta

zum thema: openGL hat schon immer pixel&vertex shader beherrscht, nur dass es keine hardware gab die shader schnell genug abarbeiten kann(bis gf3 kam) -> call of duty_staudamm(adfvanced_q3engine-opengl) level-wasser mit gf3 mal anschaun

Und wo bekommt man den OpenGL "Treiber" für die XBox her?. Im XDK ist jedenfalls keiner enthalten.

Also in meiner guten alten OpenGL 1.0 Beschreibung steht noch nichts drin was mit Pixel und Vertexshader vergleichbar wäre. Das wurde erst später mit entsprechenden Extension hinzugefügt.

Coda
2004-10-09, 20:13:12
oh mann, man sollte meinen in diesem Forum treiben sich Experten rum...
Du bist auf jeden Fall keiner davon :rolleyes:

marco42
2004-10-09, 20:17:50
Und wo bekommt man den OpenGL "Treiber" für die XBox her?. Im XDK ist jedenfalls keiner enthalten.



IGN Xbox: What do you think are the chances of Microsoft actually supporting OpenGL on the Xbox, and why?


JC: Last I heard, Nvidia was going to be providing OpenGL for it.


In any case, API are a lot less important for consoles, because there are no differences in hardware to abstract, or competing processes to arbitrate between..


I can already see how it is likely to go: Initial Xbox system interfaces are only through standard API, with stern warnings from Microsoft against trying to program the systems directly. A year or two passes, and some other vendor ships an even hotter platform. MS/Nvidia then decide to allow developers to get the last bit of interesting performance out of the Xbox by programming directly to the hardware.


Nintendo and Sony have already been through that, and I'm sure Sega will next year. Things would be better if they would just do complete documentation up front.


ist zwar von 2000, sollte aber alles aussagen. soll es eigentlich doom 3 auch fuer andere consolen geben?

Selle
2004-12-30, 18:54:59
soll es eigentlich doom 3 auch fuer andere consolen geben?


Nein, schafft angeblich keine andere (GameCube schaffts bestimmt)

san.salvador
2004-12-30, 19:33:25
Xbox kann zwar Directx nutzen (ist auch am einfachsten), sie lässt sich aber auch direkt programmieren, also Directx ist zwar möglich, aber nicht zwingend.

TobiWahnKenobi
2005-05-07, 09:51:04
ist zwar indirektes OT, aber D³ auf der XBox ist recht gut geworden. spielt sich sehr smooth und sieht auch ansprechend aus.

schade dass ich keine GF³ mehr im stall habe - ich würde es gern mal über den TV-out in 6x4 vergleichen..

kann mir das resultat aber schon vorstellen, ohne es gesehen zu haben.

wirklich funny ist der coop modus über 2 boxen.

greets
tobi