Hallo,

i've tried all to generate an output with my tessellation shader. If i add the tessellation evaluation and tessellation control shader to my shader program,
the model to which i applied the shader is gone.

Here is my vertex, tessellation evaluation and tessellation control shader:

Vertex
Code :
#version 410
 
#import "assets/shaders/libraries/VertexCore.glsl"
 
 
//Varying variables out for tessellation control shader
out vec4 v_TexCoordCS;
out vec4 v_PositionCS;
out vec4 v_ColorCS;
 
out vec3 v_NormalCS;
 
void main(void) {
    v_TexCoordCS = i_TexCoord;
    v_NormalCS   = normalize(m_ModelNormalMatrix * i_Normal);
    v_ColorCS    = i_Color;
    v_PositionCS = i_Vertex;
}

Tessellation Control
Code :
#version 410
 
layout(vertices = 3) out;
 
//Varying variables in from vertex shader
in vec4[3] v_TexCoordCS;
in vec4[3] v_PositionCS;
in vec4[3] v_ColorCS;
 
in vec3[3] v_NormalCS;
 
//Varying variables out for tessellation evaluation shader
out vec4[3] v_TexCoordES;
out vec4[3] v_PositionES;
out vec4[3] v_ColorES;
 
out vec3[3] v_NormalES;
 
void main(void) {
    v_TexCoordES[gl_InvocationID] = v_TexCoordCS[gl_InvocationID];
    v_PositionES[gl_InvocationID] = v_PositionCS[gl_InvocationID];
    v_ColorES[gl_InvocationID] = v_ColorCS[gl_InvocationID];
    v_NormalES[gl_InvocationID] = v_NormalCS[gl_InvocationID];
 
    gl_TessLevelInner[0] = 3.0;
 
    gl_TessLevelOuter[0] = 10.0;
    gl_TessLevelOuter[1] = 7.0;
    gl_TessLevelOuter[2] = 3.0;
}

Tessellation Evaluation
Code :
#version 410
 
layout(triangles, equal_spacing, ccw) in;
 
//Matrices
uniform mat4 m_ModelMatrix;
uniform mat4 m_ViewMatrix;
uniform mat4 m_ProjectionMatrix;
 
mat4 m_ModelViewMatrix = m_ViewMatrix * m_ModelMatrix;
mat4 m_ModelViewProjectionMatrix = m_ProjectionMatrix * m_ModelViewMatrix;
mat4 m_ViewProjectionMatrix = m_ProjectionMatrix * m_ViewMatrix;
 
//Uniforms
uniform sampler2D m_DisplacementTexture;
uniform float m_DisplacementFactor;
 
//Varying variables in from tessellation control shader
in vec4[3] v_TexCoordES;
in vec4[3] v_PositionES;
in vec4[3] v_ColorES;
 
in vec3[3] v_NormalES;
 
//Varying variables out for fragment shader
out vec4 v_TexCoordFS;
out vec4 v_PositionFS;
out vec4 v_ColorFS;
 
out vec3 v_NormalFS;
 
vec2 interpolate(vec2 v0, vec2 v1, vec2 v2) {
    return vec2(gl_TessCoord.x) * v0 + vec2(gl_TessCoord.y) * v1 + vec2(gl_TessCoord.z) * v2;
}
 
vec3 interpolate(vec3 v0, vec3 v1, vec3 v2) {
    return vec3(gl_TessCoord.x) * v0 + vec3(gl_TessCoord.y) * v1 + vec3(gl_TessCoord.z) * v2;
}
 
void main(void) {
    v_TexCoordFS = vec4(interpolate(v_TexCoordES[0].st, v_TexCoordES[1].st, v_TexCoordES[2].st), 0.0, 1.0);
    v_NormalFS = interpolate(v_NormalES[0], v_NormalES[1], v_NormalES[2]);
    v_NormalFS = normalize(v_NormalFS);
    v_PositionFS = vec4(interpolate(v_PositionES[0].xyz, v_PositionES[1].xyz, v_PositionES[2].xyz), 1.0);
    v_ColorFS = vec4(interpolate(v_ColorES[0].rgb, v_ColorES[1].rgb, v_ColorES[2].rgb), 1.0);
 
    float displacement = texture(m_DisplacementTexture, v_TexCoordFS.st).x;
    v_PositionFS += vec4(v_NormalFS, 1.0) * displacement * m_DisplacementFactor;
    gl_Position = m_ModelViewProjectionMatrix * v_PositionFS;
}

And yes, i've set the number of vertices per patch:
Code :
glPatchParameteri(GL_PATCH_VERTICES, 3);

I really hope that someone can tell me the mistake in my code!