Hello,
I'm playing with geometry shaders, so I have to use interface blocks for vertex attributes. I haven't find much documentation about this (perhaps I missed the line in the specs) so I'm a bit lost here.
supposing this interface block in the vertex shader:
Code :out VertexData { vec2 TextCoordInterp; vec3 NormalInterp; } vertexOut;
and its corresponding in the geometry shader:
Code :in VertexData { vec2 TextCoordInterp; vec3 NormalInterp; } vertexIn[];
All my tries of specifying the interpolation qualifier ends with a compiler error (I'm on NVidia)
Placing the "smooth" keyword before interface blocks' members (for instance smooth vec2 TextCoordInterp;) ends with the next error: error C7561: OpenGL requires 'in/out' with '?'
I know that smooth is the default qualifier for interpolation, but I would like to know how to correctly specify it.
Thanks.
Edit: Forget this. I was missing the point that interpolation now must be defined between GS and FS
Edit 2: Anyway, I can set the interpolation qualifier between GS and FS if I don't use an interface block, but how would do I specify it if want use interface blocks?
I'm having the same compiler error.