TessellatePatchShaderAttribute
Description
- Derived from
- 
TessellateShader abstract 
A Tessellation Patch Shader (TP).
The method body must have a specific syntactic form, so that code generation may identify and separate the code for computing patch constant data and patch control-points:
[TessellatePatchShader(?, ?, ?, COUNT-IN, COUNT-OUT)]
public static OUTPUT NAME(INPUT[] points, ref PATCH data, int index)
{
  OUTPUT result;
  if (index == 0)
  {
    // The code in the branch of the second statement ('if' at index 1) computes the
    // constant patch data by updating 'patch', using the 'input' data. Computation
    // must always include the tessellation factors and may optionally include
    // additional values.
    ...
  }
  // The middle statements (indices 2..N-2) compute the data of the 'index'-th patch
  // control-point, using the 'input' and 'patch' data.
  ...
  // The last statement (index N-1) returns the data of the patch control-point.
  return result;
}
The placeholders have the following meaning:
- 
COUNT-IN:
 The number of input control-points (from the vertex buffer).
- 
COUNT-OUT:
 The number of output control-points (for the tessellation stage).
- 
OUTPUT:
 A stage parameter struct that holds the index-th output control-point. Must be named'result'.
- 
NAME:
 The name of the tessellation shader.
- 
INPUT:
 A stage parameter struct that holds an input control-point. Must be named'points'.
- 
PATCH:
 A stage parameter struct that holds constant patch data. Must be named'data'.
Usages
Example.TP method 
Terrain.TP_Material method