PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GLSL specification update


Corrail
2004-06-23, 19:55:18
Hi all!

Die OpenGL Shading Language hat heute offiziell ein Update bekommen und ist nun in der Version 1.1. Es wurden einige Sachen erneuert wie z.B. eigene Tokens für Sampler (glGetActiveUniform gibt keinen int mehr zurück). Unter anderem gibt es jetzt auch MRT Support (in Zusammenarbeit mit ATI_draw_buffers was auch von nVidia unterstützt wird).

Links hierzu:
http://www.opengl.org/
http://oss.sgi.com/projects/ogl-sample/registry/ARB/GLSLangSpec.Full.1.10.59.pdf
http://oss.sgi.com/projects/ogl-sample/registry/

marco42
2004-06-24, 15:54:12
Original geschrieben von Corrail
Hi all!

Die OpenGL Shading Language hat heute offiziell ein Update bekommen und ist nun in der Version 1.1. Es wurden einige Sachen erneuert wie z.B. eigene Tokens für Sampler (glGetActiveUniform gibt keinen int mehr zurück). Unter anderem gibt es jetzt auch MRT Support (in Zusammenarbeit mit ATI_draw_buffers was auch von nVidia unterstützt wird).

Links hierzu:
http://www.opengl.org/
http://oss.sgi.com/projects/ogl-sample/registry/ARB/GLSLangSpec.Full.1.10.59.pdf
http://oss.sgi.com/projects/ogl-sample/registry/

Und es gibt jetzt inverse etc. von den Standardmatrixen. Das ist wohl die wichtigste neue Funktion, obwohl ich eine transpose und inverse funktion besser gefunden haette.

Corrail
2004-06-24, 16:44:17
Original geschrieben von marco42
Und es gibt jetzt inverse etc. von den Standardmatrixen. Das ist wohl die wichtigste neue Funktion, obwohl ich eine transpose und inverse funktion besser gefunden haette.

ack, mir wäre eine allgemeine Lösung auch lieber, entweder durch Funktionen oder durch .inverse hinter der Matrix oder sowas.
Aber ich muss das ARB echt loben, sie bewegen sich in die richtige Richtung, auch was Extensions und GLSL Version angeht! ;)

marco42
2004-06-24, 22:44:35
Original geschrieben von Corrail
ack, mir wäre eine allgemeine Lösung auch lieber, entweder durch Funktionen oder durch .inverse hinter der Matrix oder sowas.
Aber ich muss das ARB echt loben, sie bewegen sich in die richtige Richtung, auch was Extensions und GLSL Version angeht! ;)

Ich finde es ganz gut erstmal keinen Kram hinein zu bringen, der spaeter als Muell mit herumgeschlaeppt werden muss. Sie sind aber auch voraus, zB bei der 4D-Noisefunction. Das wird schon, im Moment ist die Hardware sowieso noch nicht so weit. Hauptsache man hat wieter Wettbewerb, sonst passiert das gleiche wie im 3D-Audiobereich.

Chris Lux
2004-06-30, 08:05:12
Original geschrieben von Corrail
ack, mir wäre eine allgemeine Lösung auch lieber, entweder durch Funktionen oder durch .inverse hinter der Matrix oder sowas.
Aber ich muss das ARB echt loben, sie bewegen sich in die richtige Richtung, auch was Extensions und GLSL Version angeht! ;)

jap, da kann ich nur zustimmen. die lösung mit den matrizen bei den ARB vp gefiel mir persönlich auch besser, aber hauptsache die sind jetzt drin. gut finde ich auch, dass sie ein paar Cg standard library funktionen mit übernommen haben (reflect, refract...). es geht scheinbar in die richtige richtung, nur noch das mit den textur IDs als sampler und ich bin überglücklich ;)

Abe Ghiran
2004-07-08, 13:24:26
<bump>

Ich habe gerade mal den neuen Ati Catalyst 4.7 installiert, der scheint die neue spec schon zu implementieren. Zumindest kriege ich jetzt GL_SAMPLER_2D als Typ für Texturen zurück.
Ich werde später mal ausprobieren wie es mit den Matrizen aussieht.

Grüße, Jan

Corrail
2004-07-08, 13:33:24
Hab auch grad Cat 3.7 installiert
glGetString(GL_SHADING_LANGUAGE_VERSION_ARB) liefert mir leider nur 1.00 ... Dürften somit noch nicht alle Feature von GLSL 1.1 implementiert sein.

Chris Lux
2004-07-08, 19:44:12
Original geschrieben von Corrail
Hab auch grad Cat 3.7 installiert
glGetString(GL_SHADING_LANGUAGE_VERSION_ARB) liefert mir leider nur 1.00 ... Dürften somit noch nicht alle Feature von GLSL 1.1 implementiert sein.

hehe mein forceware 61.71 treiber schmiert ab, wenn ich das versuche ;) aber drin scheint alles zu sein, sogar sowas geht jetzt:

#ifdef __GLSL_CG_DATA_TYPES
#else
typedef float half;
typedef vec2 half2;
typedef vec3 half3;
typedef vec4 half4;
#endif

Abe Ghiran
2004-07-08, 20:00:01
Original geschrieben von Corrail
Dürften somit noch nicht alle Feature von GLSL 1.1 implementiert sein.

Yup, so sieht es leider aus. Die Matrizen scheinen noch völlig zu fehlen, der Treiber meldet bei z.B. gl_ModelViewMatrixInverse "unknown identifier".

Ich kann ohne Probleme meine Farbe mit gl_FragData[0] statt gl_FragColor ausgeben. Ob das dann aber wirklich auch mit mehreren Rendertargets klappt habe ich noch nicht getestet.

Grüße, Jan

Corrail
2004-07-09, 00:29:38
Hab mal den aktuellen 3DLabs GLSL Parser drüberlaufen lassen. 97%:
http://mitarbeiter.kjk.cc/rudolf/catalyst_4_7.html

Also einige der 1.1 Features dürfte der Catalyst 4.7 noch nicht kennen.