Instance Property

tessellationEvaluationShader

GLSL source code for the program’s optional tessellation evaluation shader.

Declaration

@property(nonatomic, copy) NSString *tessellationEvaluationShader;

Discussion

A program’s tessellation evaluation shader executes once for each vertex in the geometry it renders. The tessellation evaluation shader takes as input the vertex positions generated by the hardware tessellator (based on tessellation-level information output from your tessellation control shader). The tessellation evaluation shader then outputs a clip-space position for the vertex, as well as values that the GPU interpolates across a surface and sends to the fragment shader.

Tessellation shaders require macOS and OpenGL Core Profile. To use OpenGL Core Profile in a SceneKit view, set the view’s pixelFormat property. Tessellation shading is optional—to render without a tessellation shader, set this property’s value to nil (the default). However, if you specify a tessellation evaluation shader, a tessellation control shader is also required.

SceneKit compiles and links your shader program only when it is needed for rendering. To be notified of program compilation errors, provide a delegate object for the program.

See Also

Working with OpenGL Shader Source Code

vertexShader

GLSL source code for the program’s vertex shader.

fragmentShader

GLSL source code for the program’s fragment shader.

geometryShader

GLSL source code for the program’s optional geometry shader.

tessellationControlShader

GLSL source code for the program’s optional tessellation control shader.