PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : opengl und pixelshaderwassereffekt?


mapel110
2003-10-28, 06:17:08
ist der unter opengl nicht möglich? ich glaube, ich hab diesen effekt unter opengl bislang noch in keinem game gesehen.

welche extensions/version von opengl brauchts denn dafür?

p.s. ich rede von diesem schönen wasser, ala morrowind/yager/3dmark-nature etc etc

Mordred
2003-10-28, 06:30:34
Original geschrieben von mapel110
ist der unter opengl nicht möglich? ich glaube, ich hab diesen effekt unter opengl bislang noch in keinem game gesehen.

welche extensions/version von opengl brauchts denn dafür?

p.s. ich rede von diesem schönen wasser, ala morrowind/yager/3dmark-nature etc etc

Also möglich isser. Enclave in OpenGL hat recht hübsches Wasser. Aber wie der geht?! Da fragst den falschen.

mapel110
2003-10-28, 07:02:57
Original geschrieben von [KoC]Mordred
Also möglich isser. Enclave in OpenGL hat recht hübsches Wasser. Aber wie der geht?! Da fragst den falschen.

in enclave sahs schon recht gut aus, aber irgendwie doch zu "billig" im vergleich zu meinen genannten beispielen.

Demirug
2003-10-28, 07:31:33
Es geht auf jeden Fall. In der Regel können Grafikkarten aufgrund Herstellerspezifischer Extensions unter OpenGL sowieso mehr als unter D3D. Genau diese Extensions sind es aber auch die es verhindern das es genutzt wird. Bei der gringen Anzahl von Hardware welche dazu fähig ist (ist wird langsam aber sicher mehr) ist unter D3D die Kosten/Nutzen Fragen schon ein heisses Thema. Unter OpenGL müsste man den Effekt für jede Chip-Familie neu Programmieren. Vor diesem Schritt wird deswegen oft zurückgeschreckt.

Mordred
2003-10-28, 08:01:05
Original geschrieben von Demirug
Es geht auf jeden Fall. In der Regel können Grafikkarten aufgrund Herstellerspezifischer Extensions unter OpenGL sowieso mehr als unter D3D. Genau diese Extensions sind es aber auch die es verhindern das es genutzt wird. Bei der gringen Anzahl von Hardware welche dazu fähig ist (ist wird langsam aber sicher mehr) ist unter D3D die Kosten/Nutzen Fragen schon ein heisses Thema. Unter OpenGL müsste man den Effekt für jede Chip-Familie neu Programmieren. Vor diesem Schritt wird deswegen oft zurückgeschreckt.

Da frag ich mich grade warum die die ganen Graka Demos (also die vopm Hersteller) immer mit Direct3D machen. Wäre doch eigntlich einfacher die Demos in OpenGL mit den Extensions zu schreiben oder? Also um das können der Graka zu demonstrieren.

mapel110
2003-10-28, 08:08:08
Original geschrieben von [KoC]Mordred
Da frag ich mich grade warum die die ganen Graka Demos (also die vopm Hersteller) immer mit Direct3D machen. Wäre doch eigntlich einfacher die Demos in OpenGL mit den Extensions zu schreiben oder? Also um das können der Graka zu demonstrieren.

das geht mit beiden APIs. allerdings laufen opengl techdemos nicht auf anderen grakas anderer hersteller. nvidia macht opengl-demos, ATI allerdings d3d, soweit ich weiss.

ich glaub, ich hab meine frage nicht richtig gestellt. zu welcher opengl-version gehört letztendlich dieser wassereffekt? bzw ab welcher opengl-version werden denn pixelshader unterstützt?
wir haben ja die einteilung opengl 1.3/1.4/1.5/2.0

Mordred
2003-10-28, 08:15:50
Ab OpenGL 1.4 werden Vertex Sahder verwendet. Jedenfalls laut www.opengl.org.

Zu den Demos: Afaik sind sämtliche NV Demos Direct3D wüsst jetzt jedenfalls keins das OpenGL bnutzt. Lasse mich aber genre eines besseren belehren :>

Demirug
2003-10-28, 09:06:09
Original geschrieben von mapel110
ich glaub, ich hab meine frage nicht richtig gestellt. zu welcher opengl-version gehört letztendlich dieser wassereffekt? bzw ab welcher opengl-version werden denn pixelshader unterstützt?
wir haben ja die einteilung opengl 1.3/1.4/1.5/2.0

Zu gar keiner, weil man dafür Herstellerspezifische Extensions nutzen muss.

Für DX9-Texhlevel Karten gibt es jetzt eine allgemeine Extensions ich bin mir aber gerade nicht sicher ob die inzwichen zu einer Core-Version gehört.

Demirug
2003-10-28, 09:06:57
Original geschrieben von [KoC]Mordred
Ab OpenGL 1.4 werden Vertex Sahder verwendet. Jedenfalls laut www.opengl.org.

Zu den Demos: Afaik sind sämtliche NV Demos Direct3D wüsst jetzt jedenfalls keins das OpenGL bnutzt. Lasse mich aber genre eines besseren belehren :>

nVidia bevorzugt OpenGL für ihere Demos. ATI nimmt D3D.

ow
2003-10-28, 09:24:54
.

mapel110
2003-10-28, 09:34:22
Original geschrieben von Demirug
Zu gar keiner, weil man dafür Herstellerspezifische Extensions nutzen muss.

Für DX9-Texhlevel Karten gibt es jetzt eine allgemeine Extensions ich bin mir aber gerade nicht sicher ob die inzwichen zu einer Core-Version gehört.

http://www.mapel110.privat.t-online.de/opengl-versionen.JPG

hier gibts aber ne einteilung der extensions zu einer jeweiligen opengl-version.

Mordred
2003-10-28, 09:36:32
Original geschrieben von ow
Saemtliche GFFX Demos sind OpenGL, die meisten Gf2-4 Demos auch. D3D Demos gibt es nur wenige von NV.

Das is interessant. HAb auf anderen Seiten (englishe namen nicht mehr bkannt :> ) immer was von DirectX8 und DirectX9 Demos gelesen :>

Naja dann war des wohl ein bisschen falsch :>

Thx 4 Aufklärung :D

ow
2003-10-28, 09:37:57
.

deekey777
2003-10-28, 10:40:54
Korrigiert mich, aber man kann mit OpenGL die DX8/9-Hardware bis zum "geht nicht mehr" ausnutzen/ausreizen. Das Problem bei OpenGL ist, dass jeder unbedingt was eigenes darin sehen will. So war es schon bei OpenGL1.3, aus dem "Werbeprospekt für OpenGL2": "Over 230 OpenGL extensions have been defined - Nvidia's extension documentation is 500+ pages, the OpenGL 1.3 spec is 284 pages". Das ist nicht produktiv.
Gibt es überhaupt ein Spiel oder ähnliches, welches zB auf OpenGL1.4 basiert? Selbst die aktuellsten Spiele wie CoD oder JK:JA (macht aber Gebrauch von PS) nutzen noch die 4-5 Jahre alte Kuh3-Engine.

PS: GLexcess2 scheint wirklich hübsch zu werden: http://www.driverheaven.net/showthread.php?s=&threadid=28297&perpage=15&pagenumber=1 (schaut euch auch die 2. Seite des Threads an)

Börk
2003-10-28, 13:33:32
Original geschrieben von deekey777

PS: GLexcess2 scheint wirklich hübsch zu werden: http://www.driverheaven.net/showthread.php?s=&threadid=28297&perpage=15&pagenumber=1 (schaut euch auch die 2. Seite des Threads an)
Man muss sich erst mal im Forum anmelden :(
Kannste nicht mal nen Screenshot posten?

duckofdeath
2003-10-28, 14:47:54
opengl spiel mit pixelshader wasser --> Neverwinter Nights

DocEW
2003-10-28, 15:53:15
Original geschrieben von mapel110
http://www.mapel110.privat.t-online.de/opengl-versionen.JPG

hier gibts aber ne einteilung der extensions zu einer jeweiligen opengl-version.

Aber das sind ja auch keine herstellerspzifischen Extensions.

ow
2003-10-28, 16:37:00
.

DrumDub
2003-10-28, 17:11:07
Original geschrieben von ow
Jein.;)
Guckst du zB. "GL_NV_blend_square"

richtig. sowie "GL_SGIS_generate_mipmap" und "GL_SGI_color_matrix" (die aber beide von ati und nv unterstützt werden, genau wie "GL_NV_blend_square" von ati auch unterstützt wird).

zeckensack
2003-10-28, 17:11:23
Man nehme
ATI_fragment_shader für R200 (und höher)
NV_register_combiners + NV_texture_shader für NV20 (und höher), Wildcat VP

Exakt zwei Zielpfade (vgl: PS1.1, PS1.4)

Weder SiS, noch Matrox machen ihre "Pixel Shader" unter GL verfügbar. Könnten sie aber, wenn sie nur wollten.


Die 'benötigte' OpenGL-Version ist 1.1.

Nochmal zum Mitdenken:
GL arbeitet mit Extensions
DX Graphics arbeitet mit Restriktionen (Caps)

Bitte nicht den Versionswahnsinn von DX auf GL projizieren.

mapel110
2003-10-28, 18:12:03
Original geschrieben von zeckensack
Man nehme
ATI_fragment_shader für R200 (und höher)
NV_register_combiners + NV_texture_shader für NV20 (und höher), Wildcat VP

Exakt zwei Zielpfade (vgl: PS1.1, PS1.4)

Weder SiS, noch Matrox machen ihre "Pixel Shader" unter GL verfügbar. Könnten sie aber, wenn sie nur wollten.


Die 'benötigte' OpenGL-Version ist 1.1.

Nochmal zum Mitdenken:
GL arbeitet mit Extensions
DX Graphics arbeitet mit Restriktionen (Caps)

Bitte nicht den Versionswahnsinn von DX auf GL projizieren.

dann ist alles klar, danke :)
neverwinter nights werd ich mir nochmal anschauen.

Demirug
2003-10-28, 18:16:08
Original geschrieben von mapel110
dann ist alles klar, danke :)
neverwinter nights werd ich mir nochmal anschauen.

Aber bitte mit Patch. In der Originalversion gibt es Wasser nur für nVidia.

mapel110
2003-10-28, 18:32:54
Original geschrieben von Demirug
Aber bitte mit Patch. In der Originalversion gibt es Wasser nur für nVidia.

ahh, als ich mir neverwinternights bei erscheinen angeschaut hatte, war das wasser "nicht schön". dann hab ich ja jetzt die erklärung dafür. :)

DocEW
2003-10-28, 21:28:29
Original geschrieben von ow
Jein.;)
Guckst du zB. "GL_NV_blend_square"
Ok-ok, wer lesen kann ist klar im Vorteil... dann sind also tatsächlich herstellerspezifische Extensions Pflicht - eine ATI 9800 kann auch GL_NV_blend_square. Muß ja wirklich eine vernünftige Sache sein, wenn sich da alle drauf geeinigt haben ( und sogar den Namen so belassen haben :D ) ...

Kai
2003-11-05, 02:10:38
Also bei Call of Duty scheint es Pixelshaderwasser zu geben - oder man hat es wirklich ziemlich klug gelöst. Es sieht auf jeden Fall super aus. Dynamisch ist es allerdings nicht.

Sorry wegen dem Gamestar-Shot, hab da jetzt sonst nix mit Wasser gefunden. Ich denke aber es wird klar was ich meine.

http://www.gamestar.de//graphics/bild_db/8400/8417/PopUp_640x480.idg

mapel110
2003-11-05, 02:42:03
jo, wollte auch schon fragen, ob das nun per pixelshader oder anders gemacht ist. gut aussehen tuts auf jedenfall. allerdings hab ich schon bessere "fützen" gesehen :)

DrumDub
2003-11-05, 04:30:06
ich sach nur tiger woods pga tour 2004... :D

http://h34.dyndns.org/tw01.jpg

Xmas
2003-11-05, 17:58:05
Original geschrieben von DocEW
Ok-ok, wer lesen kann ist klar im Vorteil... dann sind also tatsächlich herstellerspezifische Extensions Pflicht - eine ATI 9800 kann auch GL_NV_blend_square. Muß ja wirklich eine vernünftige Sache sein, wenn sich da alle drauf geeinigt haben ( und sogar den Namen so belassen haben :D ) ...
Der Name wird auch nur geändert, wenn es inhaltliche Änderungen gibt oder die Extension zum ARB-Standard erhoben wird. Bei NV_blend_square und SGIS_generate_mipmaps hat man sich aber dazu entschieden, diese gleich zum Core-Feature zu machen. Womit die Extension-Anhängsel (_ARB, _EXT, etc.) sowieso wegfallen.

Corrail
2003-11-06, 00:17:43
Also mal eine kleine Einführung in OpenGL... :-)

OpenGL ist folgendermaßen aufgebaut:

Man hat einen Grundstock and Funktionen. Weitere Features werden durch Extensions unterstützt.

Zu den OpenGL Versionen:

Jede Version erfordert per Spezifikation gewisse Extensions (normaler Weise ARB Extensions, also Hersteller-unabhänigie Extensions). z.B. OpenGL 1.3 erfordert GL_ARB_texture_env_dot3 (Hardware DOT3 Bump Mapping)

OpenGL 1.3 ist vergleichbar mit DX7 (Hardware T&L)
OpenGL 1.4 ist vergleichbar mit DX8 (allerdings nur mit Vertex Shader 1.x, Pixel Shader sind in OpenGL 1.4 nicht definiert)
OpenGL 1.5 ist vergleichbar mit DX9 (Low-Level Vertex 2.x & Pixel Shader 2.x)
OpenGL Shading Language ist vergleichbar mit der DX HLSL

Pixel Shader Effekte sind wie schon angeschnitten entweder mit Herrsteller-spzifischen Extensions machbar (GL_NV_register_combiners, GL_NV_texture_shader für nVidia oder GL_ATI_fragment_shader für ATI) oder aber ab OpenGL 1.5 durch echte programmierbare Pixelshader (GL_ARB_fragment_program). Weiters ist es auch möglich (oder besser gesagt: wird es auch möglich sein) das ganze mit OpenGL 2.0 (oder GLslang durch Extensions) zu machen. Aber leider hat bis jetzt nur 3DLabs GLslang Support.

Zu GL_NV_blend_square: Ja, es steht ein NV dabei, und ja, dieses NV steht für nVidia, aber trotzdem ist diese Extension eine offene Extension (ist sogar erforderlich für OpenGL 1.4).

PS: Bei den Vertex & Pixel Shader Versionen von DX kann ich mich auch irren!

ow
2003-11-06, 12:50:53
.

Corrail
2003-11-06, 12:56:22
Ok, das schon
Ich weiß aber nicht genau, was in DX7 noch alles definiert ist. Ich glaub Hardware Bump Mapping ist auch dabei, und das ist analog in OpenGL 1.3 definiert.

Gil-galad
2003-11-06, 16:59:39
Hab mal ein Bild aus der Pegasus Mission gemacht:

http://www.amd-insight.de/misc/cod.jpg

Sieht dem Wasser aus Morrowind ähnlich.

Gast
2003-11-07, 17:31:24
Im OpenGL Core sind auch mit 1.5 noch keine Pixel/Vertex Shader.
Die Pixel/Vertex Assembler Shader wurden glaube ich zwischen 1.4 und 1.5 (rein zeitlich gesehen) als ARB Extension spezifiziert - also als abgesegnete, herrstellerunabhängige Extensions, aber nicht als Voraussetzung OpenGL1.sonstwas kompatibel zu sein (so gesehen sind auch die Grafiken von diesem Testprogramm nicht richtig).
glslang wurde gleichzeit mit 1.5 als ARB Extension spezifiziert.

T&L geht schon immer, da OGL von Anfang an eine "komplette" 3D Api war und nicht nur ein Rasterizer.

Wer es genau wissen will:
http://www.opengl.org/developers/documentation/version1_5/glspec15.pdf

deekey777
2003-11-10, 12:12:56
Ein (frühes) Bild aus OpenGLexcess2: http://www.ystart.net/upload/1068462640.jpg

Es ist relativ stark komprimiert, sieht aber hübsch aus.

Wishnu
2003-11-10, 14:44:14
Mir dünkt, "IL2 -Forgotten Battles" würde auch Pixelshader für das Wasser einsetzen...

AchtBit
2003-11-20, 13:08:56
Hat schon einer das mit komplett mit realtime shadern gerenderte ogl Demo laufen lassen?

http://web.interware.hu/bandi/ranger.html

Funzt wegen fehlender nv spezifischer ogl_ext nur wired frame mit nicht nv Karten.
Ich ziehs mir grad mal. :)

Exxtreme
2003-11-20, 13:31:49
Humus hat eine neue OpenGL-Demo mit Wasser:
http://esprit.campus.luth.se/~humus/

:D

DrumDub
2003-11-20, 21:38:10
nope. ist d3d: http://esprit.campus.luth.se/~humus/3D/index.php?page=Direct3D