.[ ČeskéHry.cz ].
Chyba kompilace GLSL shaderu při použití rozšíření

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 3. červen 2013, 20:47:19    Předmět: Chyba kompilace GLSL shaderu při použití rozšíření Odpovědět s citátem

Dotaz: Proč mi tento triviální vertex shader
kód:
    1: #version 130
    2: #extension GL_ARB_explicit_attrib_location : require
    3:
    4: invariant gl_Position;
    5:
    6: uniform mat4 modelViewProjectionMatrix;
    7: layout(location=0) in vec3 position;
    8: layout(location=1) in vec4 color;
    9: out vec4 Color;
   10: void main()
   11: {
   12:     Color = color;
   13:     gl_Position = modelViewProjectionMatrix*vec4(position, 1);
   14: }


vrací chybu

kód:
0(7) : error C0000: syntax error, unexpected '(', expecting "::" at token "("


?

Mám tam fakt nějakou chybu, nebo je to driver bug? K čemu se vůbec používá v GLSL "::"?
Spouštím to na GeForce 9300M GS/PCIe/SSE2, verze ovladače 3.0.0 NVIDIA 304.88 (linux).
Díky.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 3. červen 2013, 22:25:07    Předmět: Odpovědět s citátem

Není to nízká #version GLSL?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 3. červen 2013, 23:03:33    Předmět: Odpovědět s citátem

Možná.
Citace z http://www.opengl.org/registry/specs/ARB/explicit_attrib_location.txt :
citace:
Dependencies

Requires OpenGL 2.0 or GL_ARB_vertex_shader.

This extension interacts with GL_ARB_blend_func_extended.

This extension is written against the OpenGL 3.2 (Core Profile)
specification dated 7/24/2009 and the OpenGL Shading Language 1.50.09
specification dated 7/24/2009.

This extension interacts with GL_ARB_separate_shader_objects,
GL_ARB_gpu_shader_fp64, OpenGL 4.0, and OpenGL 4.1.


Moc moudrý z toho nejsem. Je sice "written against" OpenGL Shading Language 1.50.09, ale "requires" pouze OpenGL 2.0 or GL_ARB_vertex_shader (tzn. GLSL 1.10).

Ale zase na druhou stranu toto rozšíření podporují na linuxu intely, jejichž ovladače podporují jen GLSL 1.30, takže se nabízí otázka, proč?
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Krolli



Založen: 12. 05. 2013
Příspěvky: 13

PříspěvekZaslal: 4. červen 2013, 07:46:47    Předmět: Odpovědět s citátem

Priznam sa, ze s verziami pred GLSL 3.3 nemam velmi skusenosti takze si niesom uplne isty v com je problem. Skusal som to u seba a fungovalo to na 1.5 a 1.4 ale na 1.3 to malo rovnaky problem. Mozno to je problem NVIDIA driverov pre stare verzie OpenGL. Skusal si nastavovat tie hodnoty pomocou glBindAttribLocation ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 4. červen 2013, 08:32:54    Předmět: Odpovědět s citátem

Tomu jsem se chtěl právě vyhnout.

Ještě mě napadlo dát do zdrojáku
#define layout(x)
To odmaže layout deklarace. Pak rozparsovat zdroják a získané hodnoty nabindovat přes glBindAttribLocation a glBindFragDataLocation. Ale to se mi nechce Very Happy
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Krolli



Založen: 12. 05. 2013
Příspěvky: 13

PříspěvekZaslal: 4. červen 2013, 19:12:06    Předmět: Odpovědět s citátem

Tiez by si si mohol zaviest konvenciu ako tie vstupy budes pomenovavat a neriesit ich umiestnenie. Je to urcite menej pracne ako to rozparsovat. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 4. červen 2013, 19:14:31    Předmět: Odpovědět s citátem

To je fakt. Tak už to ostatně dělám u textur.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Krolli



Založen: 12. 05. 2013
Příspěvky: 13

PříspěvekZaslal: 4. červen 2013, 19:28:11    Předmět: Odpovědět s citátem

A este ked sa nahodou inspirujes semantikami v DirectX tak sa tam nema co pokazit. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 4. červen 2013, 20:48:17    Předmět: Odpovědět s citátem

Krolli: Tvé nápady se mi líbí, asi je použiju. Díky.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna