Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenGL 1.5 veröffentlicht
Crushinator
2003-07-29, 18:47:52
http://www.sgi.com/newsroom/press_releases/2003/july/opengl15.html
(...)
The OpenGL® 1.5 specification includes the revolutionary OpenGL® Shading Language, official ARB extensions that are expected to form the foundation of the upcoming OpenGL® 2.0 version of this cross-platform, open-standard API for advanced 3D graphics. The OpenGL Shading Language will enable-for the first time-graphics cards from virtually any vendor on virtually any platform to use the same high-level shading language. This new specification will provide developers with the expressive power to enable a wide variety of graphics, imaging and compute applications to be accelerated by new-generation, highly parallel graphics hardware. (...)
Mir war entgangen, daß die Shadersprache noch in einer Zwischenversion vor 2.0 implementiert werden sollte. :|
Demirug
2003-07-29, 18:57:22
Original geschrieben von crushinator
Mir war entgangen, daß die Shadersprache noch in einer Zwischenversion vor 2.0 implementiert werden sollte. :|
War ja auch eine kurzfristige Entscheidung.
Crushinator
2003-07-29, 19:03:00
Achso, und was verspricht man sich genau aus diesem Vorziehen? Etwa damit die Entwickler schonmal richtig "rumshadern" können?
Demirug
2003-07-29, 19:07:14
Eine Begründung habe ich noch nicht gesehen. Mal abwarten ob man etwas dem Protokol entnehmen kann.
JTHawK
2003-07-29, 20:01:01
Es soll als eine Art erster Schritt sein. Von der OGL Shading Language wird erhofft, dass sie einiges revolutionieren wird. Deswegen sollen die Entwickler nicht in das kalte Wasser geworfen werden. Sie sollen sich schon einmal mit dem System auseinandersetzen.
Damit man nun mit DX mithalten kann (in Zeiten von ATIs und NVIDIAs Languanges) wurde die Shading Language in Version 1.0 mit in OGL 1.5 als ARB Extensions implementiert jedoch NICHT IM KERN von OGL 1.5 so wie es bei OGL 2.0 der fall sein wird. D.h. die Hardware muss "ARB_fragment_program" unterstützen .. das ist bei den neusten ATI und NVIDIA Graka Generationen der Fall.
Weiterhin dauert es bis OGL 2.0 kommt länger als bisher angenommen.
Das alles und noch mehr wird aber noch in den Statements nachzulesen sein die vor/bei/nach der Veröffentlichung auftauchen werden.
Auf www.opengl.org ein wenig runterscrollen, da ist ein Bericht über das ARB Treffen.
Die Abstimmung darüber, ob glSlang in die Kernspezifikation aufgenommen werden soll ist gescheitert, deswegen heißt die neue Version erstmal nur 1.5
Nachdem ich gelesen habe, wie das bei der Abstimmung schief gelaufen ist und weshalb es nicht 2.0 heißt, dann lese, wie sich die großen Firmen selber bezüglich OGL1.5 loben wie nur was und dann drüber nachdenke, was eigentlich mal alles für OGL2 geplant war, scheint mir langsam, es geht mit OGL nicht mehr ganz so gut voran wie es sollte.
zeckensack
2003-08-01, 04:06:32
GLslang, so wie es spezifiziert und letztlich vom ARB ratifiziert wurde, ist nicht so einfach in GL einzubauen wie viele andere optionale Features.
Die Spec fordert nämlich ausdrücklich eine bestimmte Präzision (> 16 bit FP btw) und noch ein paar andere Sachen. Entgegen meiner ursprünglichen Erwartung sind dadurch kleinere 'subsets' von GLslang nicht mehr spec-konform.
Das jetzt zum Kernfeature zu machen, würde bedeuten daß keine aktuell kaufbare Hardware diese Spec erfüllen könnte. Da das blöd ist, wurde es nicht gemacht.
So gesehen ist der "DX9"-Techlevel mit GL1.2+ARB_fp+ARB_vp eigentlich bereits vollständig abgedeckt. Was GLslang an Features voraussetzt, ist nochmal ein paar Meter weiter vorwärts.
Schade ist (aus meiner Sicht) eben nur, daß es immer noch keine allgemeine Hochsprache für 'kleinere' Shader-HW gibt.
MadManniMan
2003-08-01, 04:50:45
Original geschrieben von zeckensack
fordert nämlich ausdrücklich eine bestimmte Präzision (> 16 bit FP btw)
Meine subjektive Parteilichkeit alter Tage ("GL sieht besser aus als dieser MS-Piss, da glänzts an allen Ecken und Kanten!") scheint durch ein Faktum wiedererweckt. Schön!
:D
Original geschrieben von zeckensack
So gesehen ist der "DX9"-Techlevel mit GL1.2+ARB_fp+ARB_vp eigentlich bereits vollständig abgedeckt. Was GLslang an Features voraussetzt, ist nochmal ein paar Meter weiter vorwärts.
Was war an 1.2 eigentlich "der Reißer" , daß es die Basis für ein DX9-Äquivalent über die allgemeinen Extensions stellen kann? Und was können dann GL 1.3, 1.4 und 1.5? Und ach nochwas: schön, daß GLSlang zukunftsweisend scheint!
Original geschrieben von zeckensack
Schade ist (aus meiner Sicht) eben nur, daß es immer noch keine allgemeine Hochsprache für 'kleinere' Shader-HW gibt.
Moment, wie jetz... ich konstatier mal und bilde mir ein zu wissen, daß HLSL unter DX9 nich so recht will, man also auf CG *schauder* ausweichen müßte. Aber GLSlang inkompatibel mit den Shadern der R2*0 und NV2*?
:|
/Edit: "Manni, was kommt nach 2? Nein, nicht Kallwas und auch nicht das Strafgericht. Es ist die 3..." - konstatieren wir: Manni sollte lieber mal schlaf0rn!
zeckensack
2003-08-01, 05:12:43
Original geschrieben von MadManniMan
Was war an 1.2 eigentlich "der Reißer" , daß es die Basis für ein DX9-Äquivalent über die allgemeinen Extensions stellen kann? Und was können dann GL 1.3, 1.4 und 1.5? Und ach nochwas: schön, daß GLSlang zukunftsweisend scheint!Whoops. Gerade nochmal nachgelesen, eigentlich hätte ich GL1.3 nehmen sollen :sulkoff:
GL1.3 integriert nämlich Multitexturing, und damit die gesamte Infrastruktur die man braucht, um VS-Daten in die API zu hämmern (nämlich verkleidet als Texturkoordinaten). Und cube maps. Andere Extensions, die bei GL über die Jahre in die Kernspezifikation aufgenommen wurden, sind zwar nett, aber nicht wirklich nötig für Shader-Spielerein.
Moment, wie jetz... ich konstatier mal und bilde mir ein zu wissen, daß HLSL unter DX9 nich so recht will, man also auf CG *schauder* ausweichen müßte.MS HLSL und Cg haben ihre Limitationen, aber funktionieren. Darauf habe ich mich auch nicht beziehen wollen, es ging mir allein um OpenGL.
Aber GLSlang inkompatibel mit den Shadern der R2*0 und NV2*?
:|Genau :(
Man kann zwar Shader schreiben, die formal GLslang sind, und die auf R200/NV2x lauffähig sind ... aber man darf sie 'offiziell' nicht auf dieser Hardwareklasse kompilieren. Um es mit maximaler Härte zu sagen: Spec-konforme OpenGL-Treiber für R200 oder NV2x dürfen GLslang nicht unterstützen.
Demirug
2003-08-01, 07:40:01
Original geschrieben von zeckensack
Schade ist (aus meiner Sicht) eben nur, daß es immer noch keine allgemeine Hochsprache für 'kleinere' Shader-HW gibt.
Cg (ok da kann man das allgemein schwer in Frage) und HLSL (leider nur D3D) können das schon. Auf der OpenGL Seite hat man IMHO hier eine Möglichkeit verpasst. Bei der doch nur realtive geringen Abdeckung an passender Hardware wird es glslang erst mal schwer haben.
Demirug
2003-08-01, 07:45:43
Original geschrieben von MadManniMan
Moment, wie jetz... ich konstatier mal und bilde mir ein zu wissen, daß HLSL unter DX9 nich so recht will, man also auf CG *schauder* ausweichen müßte. Aber GLSlang inkompatibel mit den Shadern der R2*0 und NV2*?
Wir sind zwar bei OpenGL aber trotzdem zur Information.
HLSL funktioniert mit DX9 eigentlich sehr gut und baut auch für DX8 Hardware schöne Shader. Es fehlt leider noch ein umsetzer für DX7 Hardware aber auf den wird man wohl lange warten müssen.
Was nicht so gut funktioniert ist der Compiler des original SDKs in Verbindung mit NV3X Hardware das Problem wird aber mit dem nächsten SDK gelöst.
JTHawK
2003-08-01, 09:22:33
Original geschrieben von Demirug
HLSL funktioniert mit DX9 eigentlich sehr gut und baut auch für DX8 Hardware schöne Shader. Es fehlt leider noch ein umsetzer für DX7 Hardware aber auf den wird man wohl lange warten müssen.
vergeblich trifft es wohl besser. Für DX7 Hardware neue Entwicklungen zu betreiben ist nicht nur in meinen Augen Zeitverschwendung. Auch wenn 50% aller laufenden Grakas DX7 wären, wären diese immer noch zu langsam, als dass es sich lohnen würde für "zukünftige" Aplikationen etwas in dieser Richtung zu tun.
Demirug
2003-08-01, 10:45:53
Original geschrieben von JTHawK
vergeblich trifft es wohl besser. Für DX7 Hardware neue Entwicklungen zu betreiben ist nicht nur in meinen Augen Zeitverschwendung. Auch wenn 50% aller laufenden Grakas DX7 wären, wären diese immer noch zu langsam, als dass es sich lohnen würde für "zukünftige" Aplikationen etwas in dieser Richtung zu tun.
In dieser Beziehung gehe ich mit Zeckensack konform. Wenn ich ihn nicht gänzlich falsch verstanden habe ist er wie ich der Meinung das man auch den Karten/Chips welche nur über ein sehr kleines Featureset verfügen die möglichkeit geben sollte eine Hochsprache zu nutzen. Ein "Pixelshader" für eine DX7 Karte wäre dann zwar wohl nur ein 1 oder 2 Zeiler aber man hätte ein Interface das konsitent durch alle Ebenen ist. Im Moment muss man sich eben darum gedanken machen wie man den Effekt mit DX7 Karten hinbekommt um dann bei >= DX8 Karten mehr oder minder alles nochmal von vorne zu machen weil man aus der DX7 Welt nichts herüber retten kann.
DX? ist immer als Techlevel zu verstehen.
Ein ganz einfaches Beispiel:
Wenn man bei DX7 zwei Passes brächte könnte man diese als 2 Funktionen schreiben. Für DX8 schreibt man dann schnell noch eine dritte Funktion welche einfach die beiden DX7 Funktionen aufruft und die ergebnisse verrechnet. Eine erhebliche Arbeitseinsparung. Die Zeit die man damit gewinnen würde könnte man dann anderweitig sinnvoll nutzen.
JTHawK
2003-08-01, 11:20:02
Wohl wahr. Jedoch stellt sich die Fage was man als kleinsten gemeinsamen Nenner dahernimmt. Ob es denn nun DX7 ist oder gleich 8 und das dann nur auf 9 adaptiert ist die andere Frage.
zeckensack
2003-08-01, 11:33:26
Original geschrieben von JTHawK
Wohl wahr. Jedoch stellt sich die Fage was man als kleinsten gemeinsamen Nenner dahernimmt. Ob es denn nun DX7 ist oder gleich 8 und das dann nur auf 9 adaptiert ist die andere Frage. Alles ab DX6 ist Multitexturing-tauglich und hat 'Combiner' in irgendeiner Form. Was im Grunde schon ein Pixel Shader ist, nur eben stark eingeschränkt. Dort würde ich ansetzen.
Ansprechen sollte man das dann aber eher über mindestens die DX7-API. Sonst macht man zuviel doppelte Arbeit.
Ah jo, unter OpenGL hat sich das ansteuern der Texturstages über die Jahre recht wacker gehalten ;)
Entweder man hat 'richtige' Shader, oder kann ARB_texture_env_combine nutzen, letzteres auf allen halbwegs relevanten Karten.
Demirug
2003-08-01, 12:03:43
Original geschrieben von zeckensack
Alles ab DX6 ist Multitexturing-tauglich und hat 'Combiner' in irgendeiner Form. Was im Grunde schon ein Pixel Shader ist, nur eben stark eingeschränkt. Dort würde ich ansetzen.
Ansprechen sollte man das dann aber eher über mindestens die DX7-API. Sonst macht man zuviel doppelte Arbeit.
Ah jo, unter OpenGL hat sich das ansteuern der Texturstages über die Jahre recht wacker gehalten ;)
Entweder man hat 'richtige' Shader, oder kann ARB_texture_env_combine nutzen, letzteres auf allen halbwegs relevanten Karten.
Ja unter DX gibt es ja auch nur zwei Wege.
1. Multitexturing über die Texturestages.
2. Shader
Die Stages sind aber recht übel mit Caps versehen und bei jeder Einstellung die laut den Caps zwar IO wäre kann der Treiber immernoch nein sagen. HLSL unterstützt nur den zweiten Weg (alles ab DX8). Es ist jedoch technisch machbar auch den ersten Weg zu unterstüzen. Einen "Proof of Concept" dafür habe ich schon.
EDIT: Wir werden irgendwie schon wieder Offtopic weil Zeckensack und ich mal wieder bei einem unser Lieblingsthemen angekommen sind.
Wo kann ich OpenGL 1.5 downloaden ??
Demirug
2003-08-03, 20:32:12
Original geschrieben von Gast
Wo kann ich OpenGL 1.5 downloaden ??
Was willst du den downloaden?
Die Spezifikation?
Headerfiles?
MadManniMan
2003-08-03, 21:57:15
Original geschrieben von Demirug
Was willst du den downloaden?
Die Spezifikation?
Headerfiles?
Ich liebe deinen subtilen Humor :D
Original geschrieben von MadManniMan
Ich liebe deinen subtilen Humor :D
also imo liegst du da hier völlig falsch.
MadManniMan
2003-08-03, 22:25:51
Original geschrieben von ow
also imo liegst du da hier völlig falsch.
*grunz!* Und deinen erst! ;D
zeckensack
2003-08-04, 05:31:38
Original geschrieben von Gast
Wo kann ich OpenGL 1.5 downloaden ?? Die API-Spec ist noch nicht veröffentlicht, wird aber hier (http://www.opengl.org/developers/documentation/specs.html) auftauchen. Damit kann man als Endanwender natürlich nichts anfangen.
Da GL kein geschichtetes Treibermodell ist (wie DX), und zudem 100%ig abwärtskompatibel ist, ist es auch nicht nötig, sich als User sofort etwas runterzuladen.
Du bekommst GL1.5, indem du eine Implementation der API installierst. Das ist üblicherweise ein Graka-Treiber, es kann aber auch Mesa sein.
Nicht alle Graka-Treiber werden auf die neueste Version 'aufgerüstet'. ATI-Treiber sind zB immer noch bei 1.3, Kyro-Treiber bei 1.2.1.
Die Features werden dann selektiv über Extensions offengelegt.
Das ist primär ein Windows-Problem, weil MS für OS-Support für GL-Versionen über 1.1 zu faul und/oder zu dumm ist. Man muß auf Win32 ergo sowieso alle Funktionen die ab 1.1 neu sind wie Extensions behandeln. Die Versionsnummer hat von daher praktisch nur informativen Charakter.
Auf Linux läuft das ganze dagegen so, wie es laufen sollte.
JTHawK
2003-08-04, 15:00:33
Original geschrieben von zeckensack
Die Features werden dann selektiv über Extensions offengelegt.
Das ist primär ein Windows-Problem, weil MS für OS-Support für GL-Versionen über 1.1 zu faul und/oder zu dumm ist.
Das wird sich hoffentlich mit dem nächsten Windows ändern. Zwar steht MS's eigene API dem ganzen im Wege, jedoch wird man doch noch hoffen dürfen. Und Verschwörungstheorien will ich hier keine schüren.
Demirug
2003-08-04, 15:04:42
Original geschrieben von JTHawK
Das wird sich hoffentlich mit dem nächsten Windows ändern. Zwar steht MS's eigene API dem ganzen im Wege, jedoch wird man doch noch hoffen dürfen. Und Verschwörungstheorien will ich hier keine schüren.
Ich glaube nicht das sich da noch was ändert.
Das Desktopteam welches ja jetzt ein gehöriges Wort bei XP mitzureden hat ist sowieso nicht gut auf das OpenGL des ehemaligen NT-Teams sprechen. Alte MS interne-Fede.
micki
2003-08-04, 15:26:35
eine von vielen.
aber eigentlich ist das doch kein aufwand ne dll zu erstellen in der alle openGL funktion normal nach aussen gegeben werden, oder hat M$ ein copyright auf oGL unter WIN ?
MfG
micki
Flolle
2003-08-05, 17:51:48
Welche Grafikkarten werden eigentlich die OpenGL 1.5-Anforderungen erfüllen?
JTHawK
2003-08-06, 01:48:13
Original geschrieben von Flolle
Welche Grafikkarten werden eigentlich die OpenGL 1.5-Anforderungen erfüllen?
ka .. da für müssten die Hardwarehersteller die vollständigen endgültigen Spezifikationen von OGL 1.5 erstmal haben :D
Demirug
2003-08-06, 07:18:04
Original geschrieben von Flolle
Welche Grafikkarten werden eigentlich die OpenGL 1.5-Anforderungen erfüllen?
Es sollte im Prinzip jede Karten mit PS und VS 2.0 reichen.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.