How To: Instance a Geometry Shader
Geometry shader instancing allows multiple executions of the same geometry shader to be executed per primitive. To instance a geometry shader, add an instance attribute to the main shader function and identify an instance index parameter in the shader function body.
To Instance a Geometry Shader:
Add the instance attribute to the main function.
[instance(24)]
This defines the number of instances (a maximum of 32) to be run for each primitive.
Attach the SV_GSInstanceID system value to a variable in the function parameter list that can be used to track the ID of the instance being executed.
uint InstanceID : SV_GSInstanceID
Compile and create the shader just as you would any other geometry shader.
Other details include:
- The maximum instance count is 32.
- The maximum vertex count is a per-instance maximum vertex count.
- Each instance invocation (like any geometry shader invocation) increases the invocation count and generates an implicit RestartStrip().
Related topics
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for