API Reference: OpenGL Pipeline State¶
This is the API reference for the functions, classes, and enums in the renderdoc
module which represents the underlying interface that the UI is built on top of. For more high-level information and instructions on using the python API, see Python API.
Sections
- class renderdoc.GLState¶
The full current OpenGL pipeline state.
- depthState¶
The depth state.
- Type
- descriptorByteSize¶
The byte size of a descriptor in the virtual descriptor storage.
- Type
int
- descriptorCount¶
The number of descriptors in the virtual descriptor storage.
- Type
int
- descriptorStore¶
The virtual descriptor storage.
- Type
- framebuffer¶
The bound framebuffer.
- Type
- pipelineResourceId¶
The
ResourceId
of the program pipeline (if active).
- rasterizer¶
The rasterization configuration.
- Type
- stencilState¶
The stencil state.
- Type
- textureCompleteness¶
Texture completeness issues of descriptors in the descriptor store.
- transformFeedback¶
The transform feedback stage.
- Type
- vertexInput¶
The vertex input stage.
- Type
- vertexProcessing¶
The fixed-function vertex processing stage.
Vertex Input¶
- class renderdoc.GLVertexInput¶
Describes the setup for fixed-function vertex input fetch.
- attributes¶
The vertex attributes.
- Type
List[GLVertexAttribute]
- indexBuffer¶
The
ResourceId
of the index buffer.
- indexByteStride¶
The byte width of the index buffer - typically 1, 2 or 4 bytes. It can be 0 for non-indexed draws.
Note
This does not correspond to a real GL state since the index type is specified per-action in the call itself. This is an implicit state derived from the last (or current) action at any given event.
- primitiveRestart¶
True
if primitive restart is enabled for strip primitives.
- provokingVertexLast¶
True
if the provoking vertex is the last one in the primitive.False
if the provoking vertex is the first one.
- restartIndex¶
The index value to use to indicate a strip restart.
- topology¶
The byte width of the index buffer - typically 1, 2 or 4 bytes.
Note
This does not correspond to a real GL state since the topology is specified per-action in the call itself. This is an implicit state derived from the last (or current) action at any given event.
- vertexArrayObject¶
The
ResourceId
of the vertex array object that’s bound.
- vertexBuffers¶
The vertex buffers.
- Type
List[GLVertexBuffer]
- class renderdoc.GLVertexAttribute¶
Describes the configuration for a single vertex attribute.
Note
If old-style vertex attrib pointer setup was used for the vertex attributes then it will be decomposed into 1:1 attributes and buffers.
- boundShaderInput¶
This lists which shader input is bound to this attribute, as an index in the
ShaderReflection.inputSignature
list.If any value is set to
-1
then the attribute is unbound.- Type
int
- byteOffset¶
The byte offset from the start of the vertex data in the vertex buffer from
vertexBufferSlot
.
- enabled¶
True
if this vertex attribute is enabled.
- floatCast¶
Only valid for integer formatted attributes,
True
if they are cast to float.This is because they were specified with an integer format but glVertexAttribFormat (not glVertexAttribIFormat) so they will be cast.
- format¶
The format describing how the vertex attribute is interpreted.
- Type
- genericValue¶
The generic value of the vertex attribute if no buffer is bound.
- Type
- vertexBufferSlot¶
The vertex buffer input slot where the data is sourced from.
- class renderdoc.GLVertexBuffer¶
Describes a single OpenGL vertex buffer binding.
- byteOffset¶
The byte offset from the start of the buffer to the beginning of the vertex data.
- byteStride¶
The byte stride between the start of one set of vertex data and the next.
- instanceDivisor¶
The instance rate divisor.
If this is
0
then the vertex buffer is read at vertex rate.If it’s
1
then one element is read for each instance, and forN
greater than1
thenN
instances read the same element before advancing.
- resourceId¶
The
ResourceId
of the buffer bound to this slot.
Shader¶
- class renderdoc.GLShader¶
Describes an OpenGL shader stage.
- programResourceId¶
The
ResourceId
of the program bound to this stage.
- reflection¶
The reflection data for this shader.
- Type
- shaderResourceId¶
The
ResourceId
of the shader object itself.
- stage¶
A
ShaderStage
identifying which stage this shader is bound to.
- subroutines¶
A list of integers with the subroutine values.
- Type
List[int]
- class renderdoc.GLTextureCompleteness¶
Describes the a texture completeness issue of a descriptor.
- completeStatus¶
The details of the texture’s (in)completeness. If this string is empty, the texture is complete. Otherwise it contains an explanation of why the texture is believed to be incomplete.
- descriptorByteOffset¶
The byte offset in the GL descriptor storage of the problematic descriptor
- typeConflict¶
The details of any type conflict on this binding. This can happen if multiple uniforms are pointing to the same binding but with different types. In this case it is impossible to disambiguate which binding was used.
If this string is empty, no conflict is present. Otherwise it contains the bindings which are in conflict and their types.
Fixed Vertex Processing¶
- class renderdoc.GLFixedVertexProcessing¶
Describes the setup for fixed vertex processing operations.
- clipNegativeOneToOne¶
True
if the clip-space Z goes from-1
to1
.False
if the clip-space Z goes from0
to1
.
- clipOriginLowerLeft¶
True
if the clipping origin should be in the lower left.False
if it’s in the upper left.
- clipPlanes¶
An 8-tuple of
bool
determining which user clipping planes are enabled.- Type
Tuple[bool,…]
- defaultInnerLevel¶
A tuple of
float
giving the default inner level of tessellation.- Type
Tuple[float,float]
- defaultOuterLevel¶
A tuple of
float
giving the default outer level of tessellation.- Type
Tuple[float,float,float,float]
- discard¶
True
if primitives should be discarded during rasterization.
Transform Feedback¶
- class renderdoc.GLFeedback¶
Describes the current feedback state.
- active¶
True
if the transform feedback object is currently active.
- bufferResourceId¶
The buffer bindings.
- Type
Tuple[ResourceId,ResourceId,ResourceId,ResourceId]
- byteOffset¶
The buffer byte offsets.
- Type
Tuple[int,int,int,int]
- byteSize¶
The buffer byte sizes.
- Type
Tuple[int,int,int,int]
- feedbackResourceId¶
The
ResourceId
of the transform feedback binding.
- paused¶
True
if the transform feedback object is currently paused.
Rasterizer¶
- class renderdoc.GLRasterizer¶
Describes the rasterization state of the OpenGL pipeline.
- state¶
The details of the rasterization state.
- Type
- class renderdoc.GLRasterizerState¶
Describes the rasterizer state toggles.
- alphaToCoverage¶
True
if alpha-to-coverage should be used when blending to an MSAA target.
- alphaToOne¶
True
if alpha-to-one should be used when blending to an MSAA target.
- depthBias¶
The fixed depth bias value to apply to z-values.
- depthClamp¶
True
if pixels outside of the near and far depth planes should be clamped and to0.0
to1.0
and not clipped.
- frontCCW¶
True
if counter-clockwise polygons are front-facing.False
if clockwise polygons are front-facing.
- lineWidth¶
The fixed line width in pixels.
- minSampleShadingRate¶
The minimum sample shading rate.
- multisampleEnable¶
True
if multisampling should be used during rendering.
- offsetClamp¶
The clamp value for calculated depth bias from
depthBias
andslopeScaledDepthBias
- pointFadeThreshold¶
The threshold value at which points are clipped if they exceed this size.
- pointOriginUpperLeft¶
True
if the point sprite texture origin is upper-left.False
if lower-left.
- pointSize¶
The fixed point size in pixels.
- programmablePointSize¶
True
if the point size can be programmably exported from a shader.
- sampleCoverage¶
True
if a temporary mask usingsampleCoverageValue
should be used to resolve the final output color.
- sampleCoverageInvert¶
True
if the temporary sample coverage mask should be inverted.
- sampleCoverageValue¶
The sample coverage value used if
sampleCoverage
isTrue
.
- sampleMask¶
True
if the generated samples should be bitwiseAND
masked withsampleMaskValue
.
- sampleMaskValue¶
The sample mask value that should be masked against the generated coverage.
- sampleShading¶
True
if rendering should happen at sample-rate frequency.
- slopeScaledDepthBias¶
The slope-scaled depth bias value to apply to z-values.
Depth/Stencil State¶
- class renderdoc.GLDepthState¶
Describes the depth state.
- depthBounds¶
True
if depth bounds tests should be applied.
- depthEnable¶
True
if depth testing should be performed.
- depthFunction¶
The
CompareFunction
to use for testing depth values.
- depthWrites¶
True
if depth values should be written to the depth target.
- farBound¶
The far plane bounding value.
- nearBound¶
The near plane bounding value.
Framebuffer¶
- class renderdoc.GLFrameBuffer¶
Describes the current state of the framebuffer stage of the pipeline.
- blendState¶
The details of the blending state.
- Type
- dither¶
True
if dithering should be used when writing to color buffers.
- framebufferSRGB¶
True
if sRGB correction should be applied when writing to an sRGB-formatted texture.
- class renderdoc.GLFBO¶
Describes the contents of a framebuffer object.
- colorAttachments¶
The framebuffer color attachments.
- Type
List[Descriptor]
- depthAttachment¶
The framebuffer depth attachment.
- Type
- drawBuffers¶
The draw buffer indices into the
colorAttachments
attachment list.- Type
List[int]
- readBuffer¶
The read buffer index in the
colorAttachments
attachment list.
- resourceId¶
The
ResourceId
of the framebuffer.
- stencilAttachment¶
The framebuffer stencil attachment.
- Type
Blending¶
- class renderdoc.GLBlendState¶
Describes the blend pipeline state.
- blendFactor¶
The constant blend factor to use in blend equations.
- Type
Tuple[float,float,float,float]
- blends¶
The blend operations for each target.
- Type
List[ColorBlend]
Hints¶
- class renderdoc.GLHints¶
Describes the current state of GL hints and smoothing.
- derivatives¶
A
QualityHint
with the derivatives hint.
- lineSmoothing¶
A
QualityHint
with the line smoothing hint.
- lineSmoothingEnabled¶
True
if line smoothing is enabled.
- polySmoothing¶
A
QualityHint
with the polygon smoothing hint.
- polySmoothingEnabled¶
True
if polygon smoothing is enabled.
- textureCompression¶
A
QualityHint
with the texture compression hint.
- class renderdoc.QualityHint(value)¶
An API specific hint for a certain behaviour. A legacy concept in OpenGL that controls hints to the implementation where there is room for interpretation within the range of valid behaviour.
- DontCare¶
The hinted behaviour can follow any valid path as the implementation decides.
- Nicest¶
The hinted behaviour should follow the most correct or highest quality path.
- Fastest¶
The hinted behaviour should follow the most efficient path.