Jump to content

  • Log In with Google      Sign In   
  • Create Account

14 years ago on June 15th Gamedev.net was first launched! We want to thank all of you for being part of our community and hope the best years are ahead of us. Happy birthday Gamedev.net!

urza57

Member Since 19 Jun 2012
Offline Last Active Jul 17 2012 07:44 AM
-----

Topics I've Started

Tessellation makes point

19 June 2012 - 05:16 AM

A little problem with my tessellation shader. I try to implement a simple tessellation shader but it only makes points.
Here's my vertex shader :

[source lang="cpp"]out vec4 ecPosition;out vec3 ecNormal; void main( void ){ vec4 position = gl_Vertex; gl_Position = gl_ModelViewProjectionMatrix * position; ecPosition = gl_ModelViewMatrix * position; ecNormal = normalize(gl_NormalMatrix * gl_Normal);}[/source]


My tessellation control shader :

[source lang="cpp"]layout(vertices = 3) out;out vec4 ecPosition3[];in vec3 ecNormal[];in vec4 ecPosition[];out vec3 myNormal[];void main(){ gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; myNormal[gl_InvocationID] = ecNormal[gl_InvocationID]; ecPosition3[gl_InvocationID] = ecPosition[gl_InvocationID]; gl_TessLevelOuter[0] = float(4.0); gl_TessLevelOuter[1] = float(4.0); gl_TessLevelOuter[2] = float(4.0); gl_TessLevelInner[0] = float(4.0);}[/source]


And my Tessellation Evaluation shader:

[source lang="cpp"]layout(triangles, equal_spacing, ccw) in;in vec3 myNormal[];in vec4 ecPosition3[];out vec3 ecNormal;out vec4 ecPosition;void main(){ float u = gl_TessCoord.x; float v = gl_TessCoord.y; float w = gl_TessCoord.z; vec3 position = vec4(gl_in[0].gl_Position.xyz * u + gl_in[1].gl_Position.xyz * v + gl_in[2].gl_Position.xyz * w ); vec3 position2 = vec4(ecPosition3[0].xyz * u + ecPosition3[1].xyz * v + ecPosition3[2].xyz * w ); vec3 normal = myNormal[0] * u + myNormal[1] * v + myNormal[2] * w ); ecNormal = normal; gl_Position = vec4(position, 1.0); ecPosition = vec4(position2, 1.0); }[/source]


Here's a screenshot : http://img4.imagesha...nstitrektht.png
Thanks all!

PARTNERS