" (1) : error C0501: type name expected at token " " (1) : error C0501: type name expected at token "
ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4397773
Jetzt (Chat):
10 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
OpenGL API + SDL
[GELÖST ... aber warum?] GLSL: Was will mir diese Fehlermeldung sagen ... ?
Normal
AutorThema
Stefan Zerbst Offline
Administrator


Registriert seit:
25.02.2002

Deutschland
[GELÖST ... aber warum?] GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Zitat:
hog::gfx::ShaderOGL::SetData (18: Vertex info
-----------
(0) : error C0000: syntax error, unexpected $end at token ""
(1) : error C0501: type name expected at token ""
(0) : error C9000: internal corruption, aborting


Ist irgendwie nicht so aussagekräftig für mich

Ciao,
Stefan


1 Mal gendert, zuletzt am 24.05.2008, 20:01:03 Uhr von Stefan Zerbst.
24.05.2008, 14:15:08 Uhr
ZFX - 3D Entertainment
Schrompf Offline
ZFX'ler


Registriert seit:
04.04.2006

Sachsen
Re: GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Vielleicht irgendein illegales Zeichen reingerutscht?
24.05.2008, 14:21:02 Uhr
Dreamworlds Development
Ingrater Offline
ZFX'ler


Registriert seit:
18.04.2007

Baden-Württemberg
Re: GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Zeig mal den GLSL Code, dann kann ich vielleicht helfen. Konntest den Code auch auf einer anderen Karte testen, also ATI und NVIDIA. Hat man Fehlermeldungen von beiden Herstellern wird oft klarer was schiefläuft.
24.05.2008, 15:45:45 Uhr
knivil Offline
ZFX'ler


Registriert seit:
03.04.2008

Baden-Württemberg
Re: GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Einige Atome deiner GraKa sind kaputt. Fix it!
24.05.2008, 15:47:01 Uhr
Stefan Zerbst Offline
Administrator


Registriert seit:
25.02.2002

Deutschland
Re: GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Zitat von knivil:
Einige Atome deiner GraKa sind kaputt. Fix it!

Aha, ich wusste gar nicht, dass da mittlerweile ein Reaktor drin werkelt :P

Hier ist der Vertizien- und der Rasterisierungs-Punkt-Schattierer der mir diesen Fehler auswirft:
Code:
VertexShader GLSL MeshVS
{
    attribute vec3 hogVertex0;
    attribute vec2 hogMultiTexCoord0;
    attribute vec4 hogNormal0;
    attribute vec4 hogBlendIndices0;
    attribute vec4 hogWeights0;

    const int MAX_MATRICES = 64;
    vec4 mat_column_1[MAX_MATRICES];
    vec4 mat_column_2[MAX_MATRICES];
    vec4 mat_column_3[MAX_MATRICES];

    uniform mat4 mat_wvp;
                
    mat4 ComputeSkinningMatrix(vec4 weights, vec4 indices)
    {
        mat4 m = mat4(1.0);
                
        for (int bone = 0; bone<4; bone++)
        {
            m[0][0] += (mat_column_1[int(indices.x)].x * weights.x);
            m[1][0] += (mat_column_1[int(indices.x)].y * weights.x);
            m[2][0] += (mat_column_1[int(indices.x)].z * weights.x);
            m[3][0] += (mat_column_1[int(indices.x)].w * weights.x);
                                                                    
            m[0][1] += (mat_column_2[int(indices.x)].x * weights.x);
            m[1][1] += (mat_column_2[int(indices.x)].y * weights.x);
            m[2][1] += (mat_column_2[int(indices.x)].z * weights.x);
            m[3][1] += (mat_column_2[int(indices.x)].w * weights.x);
                                
            m[0][2] += (mat_column_3[int(indices.x)].x * weights.x);
            m[1][2] += (mat_column_3[int(indices.x)].y * weights.x);
            m[2][2] += (mat_column_3[int(indices.x)].z * weights.x);
            m[3][2] += (mat_column_3[int(indices.x)].w * weights.x);
        
            // shift xyzw to yzwx so that we always have current value in x
            weights = weights.yzwx;
            indices = indices.yzwx;
        }
        return m;
    }
            
    void main(void)
    {        
        mat4 m = ComputeSkinningMatrix(hogWeights0, hogBlendIndices0);
        vec4 pos = m * vec4(hogVertex0.x, hogVertex0.y, hogVertex0.z, 1.0);
        gl_Position = mat_wvp * vec4(pos.x, pos.y, pos.z, 1.0);
        gl_TexCoord[0].xy = vec2(hogMultiTexCoord0);
    }                    
}

PixelShader GLSL MeshPS
{    
    uniform sampler2D tex_sampler;
    
    void main()
    {
        gl_FragColor = texture2D(tex_sampler, gl_TexCoord[0].xy);
    }
}

Geparst wird dabei nur der Teil innerhalb der geschweiften Klammern der VertexShader und PixelShader Definition. Wie man unschwer erkennen kann geht es um Skinning eines Meshes.

Danke

Ciao,
Stefan
24.05.2008, 18:54:18 Uhr
ZFX - 3D Entertainment
Stefan Zerbst Offline
Administrator


Registriert seit:
25.02.2002

Deutschland
Re: GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Hm ... wenn ich aus der Funktion ComputeSkinningMatrix den Kommentar // rausnehme funktioniert es (abgesehen davon, dass das Mesh nicht animiert ist, sondern in Bind-Position steht).

Warum ist der Kommentar in der Schleife nicht erlaubt?

Ciao,
Stefan
24.05.2008, 20:00:47 Uhr
ZFX - 3D Entertainment
Stefan Zerbst Offline
Administrator


Registriert seit:
25.02.2002

Deutschland
Re: [GELÖST ... aber warum?] GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
PPS: Wenn ich die bisher nicht uniformierten mat_column_n auch als "uniform" deklariere funktioniert sogar der Shader *g*

Bleibt nur noch die Frage warum ich das nicht kommentieren darf ... und warum kann HLSL ein float Array nach float4 im Schattierer schreiben und OpenGL schafft das nicht und muss das große glUniform4f dafür anrufen?

[flame]Je mehr GLSL ich sehe desto mehr liebe ich HLSL[/flame]

Danke für den Fisch,
Stefan
24.05.2008, 20:33:21 Uhr
ZFX - 3D Entertainment
Moshroum Offline
ZFX'ler


Registriert seit:
03.11.2002

Hessen
Re: [GELÖST ... aber warum?] GLSL: Was will mir diese Fehlermeldung sagen ... ?Nach oben.
Parser defekt? Die Spezifikation sagt jedenfalls nix dagegen

1 Mal gendert, zuletzt am 04.10.2008, 15:00:09 Uhr von Moshroum.
04.10.2008, 14:58:33 Uhr
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel