A graphics state identifies a specific rendering configuration.
Modern graphics APIs (i.e. Metal, D3D12, Vulkan) use both the active shader variant and rendering configuration to create the accurate GPU representation of a shader.
| Property | Description |
|---|---|
| attachments | Array of color attachments used in this rendering configuration. |
| depthAttachmentIndex | The index of the attachment to be used as the depth/stencil buffer for this rendering configuration. |
| depthBias | The global depth bias value for this rendering configuration. |
| forceCullMode | The forced cull mode in this rendering configuration. |
| invertCulling | Flag indicating if backface culling is inverted in this rendering configuration. |
| invertProjection | Flag indicating if the projection matrix is inverted in this rendering configuration. |
| multiviewCount | The number of VR views used in this rendering configuration. |
| negativeScale | Flag indicating if the mesh has inverted scale in this rendering configuration. |
| renderState | The render state used in this rendering configuration. |
| sampleCount | The number of samples per pixel in this rendering configuration. |
| shadingRateIndex | Index of attachment used as shading rate image. |
| slopeDepthBias | The global slope depth bias value for this rendering configuration. |
| subPasses | Array containing information of each subpass. |
| subPassIndex | Index of the active subpass in this rendering configuration. |
| topology | The topology of the Mesh, e.g: Triangles, Lines, Quads, Points, etc. used in this rendering configuration. |
| vertexAttributes | Array containing information of vertex attributes. |
| wireframe | Is wireframe mode enabled for this rendering configuration. |