Asmodeus
2005-07-14, 13:17:47
Folgender Ausschnitt aus einem GLSL-Fragmentprogramm:
uniform sampler2D Texture0;
uniform sampler2DShadow Texture1;
uniform sampler2DShadow Texture2;
uniform float Ambient;
uniform float CheckGlobalShadow;
uniform vec2 Coefficient;
varying vec4 GlobalTexCoordShadow;
varying vec4 ObjectTexCoordShadow;
varying vec3 NormalVector;
varying vec3 HalfVector;
varying vec3 ViewVector;
varying float Luminance;
...
Wenn ich jetzt aus "uniform vec2 Coefficient" einfach "uniform vec3 Coefficient" mache, dann klappt das Kompilieren ohne Probleme, aber das Linken geht schief.
Die Abfrage:
glGetObjectParameterivARB(ProgramObject,GL_OBJECT_LINK_STATUS_ARB,&Linked);
liefert 0 zurück. Aber die nachfolgende Abfrage:
glGetObjectParameterivARB(ProgramObject,GL_OBJECT_INFO_LOG_LENGTH_ARB,&MaxLength);
glGetInfoLogARB(ProgramObject,MaxLength,&Length,InfoLog);
liefert einen leeren Fehlerstring. Ist da im 77.72 in Verbindung mit der 7800 noch irgend etwas buggy, oder wie könnte dieses merkwürdige Fehlerverhalten erklärbar sein?
Gruss, Carsten.
uniform sampler2D Texture0;
uniform sampler2DShadow Texture1;
uniform sampler2DShadow Texture2;
uniform float Ambient;
uniform float CheckGlobalShadow;
uniform vec2 Coefficient;
varying vec4 GlobalTexCoordShadow;
varying vec4 ObjectTexCoordShadow;
varying vec3 NormalVector;
varying vec3 HalfVector;
varying vec3 ViewVector;
varying float Luminance;
...
Wenn ich jetzt aus "uniform vec2 Coefficient" einfach "uniform vec3 Coefficient" mache, dann klappt das Kompilieren ohne Probleme, aber das Linken geht schief.
Die Abfrage:
glGetObjectParameterivARB(ProgramObject,GL_OBJECT_LINK_STATUS_ARB,&Linked);
liefert 0 zurück. Aber die nachfolgende Abfrage:
glGetObjectParameterivARB(ProgramObject,GL_OBJECT_INFO_LOG_LENGTH_ARB,&MaxLength);
glGetInfoLogARB(ProgramObject,MaxLength,&Length,InfoLog);
liefert einen leeren Fehlerstring. Ist da im 77.72 in Verbindung mit der 7800 noch irgend etwas buggy, oder wie könnte dieses merkwürdige Fehlerverhalten erklärbar sein?
Gruss, Carsten.