Here we go again.
Like i said in my last message, my object does not render. I though it was because of my shaders, but it seems it's not the issue.
Here is my main steps :
create programObjectID - glCreateProgramObjectARB
create VertexProgramID - glCreateShaderObjectARB(ARBVertexShader.GL_VERTEX_SHADER_ARB);
load VPcode - glShaderSourceARB
compile VPcode - glCompileShaderARB
Check compilation status - glGetObjectParameterARB(vertexShader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, bfr);
attach object - glAttachObjectARB(programObject, vertexShader);
Validate VPshader - ARBShaderObjects.glValidateProgramARB(vertexShader);
link programObject - glLinkProgramARB(programObject);
validate program objets
Then I do exactly the same steps (using the same programObject...) for Geometry shader, and then again for fragment shader.
Finally, I set up some Geometry shader stuff :
ARBGeometryShader4.glProgramParameteriARB(geometryShader,ARBGeometryShader4.GL_GEOMETRY_INPUT_TYPE_ARB,GL11.GL_TRIANGLES);
ARBGeometryShader4.glProgramParameteriARB(geometryShader,ARBGeometryShader4.GL_GEOMETRY_OUTPUT_TYPE_ARB,GL11.GL_TRIANGLES);
ARBGeometryShader4.glProgramParameteriARB(geometryShader,ARBGeometryShader4.GL_GEOMETRY_VERTICES_OUT_ARB,64);
I get no compilation error, validation is OK, for ALL shaders.
but nothing appears on screen.
my shaders :
VP
void main(void)
{
gl_Position = ftransform();
}
GS
#version 120
#extension GL_EXT_geometry_shader4 : enable
void main(void)
{
int i;
for(i=0; i< gl_VerticesIn; i++){
gl_Position = gl_PositionIn[i];
EmitVertex();
}
EndPrimitive();
}
FS
void main(void)
{
gl_FragColor = vec4(1,1,1,1);
}
using only VP + FS I get a white object.
using VP + GS + FS, screen remains black
Any idea ? I don't know what to try next.
Estraven