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.

class renderdoc.GLState

The full current OpenGL pipeline state.

computeShader

The compute shader stage.

Type

GLShader

depthState

The depth state.

Type

GLDepthState

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

ResourceId

fragmentShader

The fragment shader stage.

Type

GLShader

framebuffer

The bound framebuffer.

Type

GLFrameBuffer

geometryShader

The geometry shader stage.

Type

GLShader

hints

The hint state.

Type

GLHints

pipelineResourceId

The ResourceId of the program pipeline (if active).

Type

ResourceId

rasterizer

The rasterization configuration.

Type

GLRasterizer

stencilState

The stencil state.

Type

GLStencilState

tessControlShader

The tessellation control shader stage.

Type

GLShader

tessEvalShader

The tessellation evaluation shader stage.

Type

GLShader

textureCompleteness

Texture completeness issues of descriptors in the descriptor store.

Type

GLTextureCompleteness

transformFeedback

The transform feedback stage.

Type

GLFeedback

vertexInput

The vertex input stage.

Type

GLVertexInput

vertexProcessing

The fixed-function vertex processing stage.

Type

GLFixedVertexProcessing

vertexShader

The vertex shader stage.

Type

GLShader

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.

Type

ResourceId

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.

Type

int

primitiveRestart

True if primitive restart is enabled for strip primitives.

Type

bool

provokingVertexLast

True if the provoking vertex is the last one in the primitive.

False if the provoking vertex is the first one.

Type

bool

restartIndex

The index value to use to indicate a strip restart.

Type

int

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.

Type

Topology

vertexArrayObject

The ResourceId of the vertex array object that’s bound.

Type

ResourceId

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.

Type

int

enabled

True if this vertex attribute is enabled.

Type

bool

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.

Type

bool

format

The format describing how the vertex attribute is interpreted.

Type

ResourceFormat

genericValue

The generic value of the vertex attribute if no buffer is bound.

Type

PixelValue

vertexBufferSlot

The vertex buffer input slot where the data is sourced from.

Type

int

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.

Type

int

byteStride

The byte stride between the start of one set of vertex data and the next.

Type

int

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 for N greater than 1 then N instances read the same element before advancing.

Type

int

resourceId

The ResourceId of the buffer bound to this slot.

Type

ResourceId

Shader

class renderdoc.GLShader

Describes an OpenGL shader stage.

programResourceId

The ResourceId of the program bound to this stage.

Type

ResourceId

reflection

The reflection data for this shader.

Type

ShaderReflection

shaderResourceId

The ResourceId of the shader object itself.

Type

ResourceId

stage

A ShaderStage identifying which stage this shader is bound to.

Type

ShaderStage

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.

Type

str

descriptorByteOffset

The byte offset in the GL descriptor storage of the problematic descriptor

Type

int

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.

Type

str

Fixed Vertex Processing

class renderdoc.GLFixedVertexProcessing

Describes the setup for fixed vertex processing operations.

clipNegativeOneToOne

True if the clip-space Z goes from -1 to 1.

False if the clip-space Z goes from 0 to 1.

Type

bool

clipOriginLowerLeft

True if the clipping origin should be in the lower left.

False if it’s in the upper left.

Type

bool

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.

Type

bool

Transform Feedback

class renderdoc.GLFeedback

Describes the current feedback state.

active

True if the transform feedback object is currently active.

Type

bool

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.

Type

ResourceId

paused

True if the transform feedback object is currently paused.

Type

bool

Rasterizer

class renderdoc.GLRasterizer

Describes the rasterization state of the OpenGL pipeline.

scissors

The bound scissor regions.

Type

List[Scissor]

state

The details of the rasterization state.

Type

GLRasterizerState

viewports

The bound viewports.

Type

List[Viewport]

class renderdoc.GLRasterizerState

Describes the rasterizer state toggles.

alphaToCoverage

True if alpha-to-coverage should be used when blending to an MSAA target.

Type

bool

alphaToOne

True if alpha-to-one should be used when blending to an MSAA target.

Type

bool

cullMode

The polygon CullMode.

Type

CullMode

depthBias

The fixed depth bias value to apply to z-values.

Type

float

depthClamp

True if pixels outside of the near and far depth planes should be clamped and to 0.0 to 1.0 and not clipped.

Type

bool

fillMode

The polygon FillMode.

Type

FillMode

frontCCW

True if counter-clockwise polygons are front-facing. False if clockwise polygons are front-facing.

Type

bool

lineWidth

The fixed line width in pixels.

Type

float

minSampleShadingRate

The minimum sample shading rate.

Type

float

multisampleEnable

True if multisampling should be used during rendering.

Type

bool

offsetClamp

The clamp value for calculated depth bias from depthBias and slopeScaledDepthBias

Type

float

pointFadeThreshold

The threshold value at which points are clipped if they exceed this size.

Type

float

pointOriginUpperLeft

True if the point sprite texture origin is upper-left. False if lower-left.

Type

bool

pointSize

The fixed point size in pixels.

Type

float

programmablePointSize

True if the point size can be programmably exported from a shader.

Type

bool

sampleCoverage

True if a temporary mask using sampleCoverageValue should be used to resolve the final output color.

Type

bool

sampleCoverageInvert

True if the temporary sample coverage mask should be inverted.

Type

bool

sampleCoverageValue

The sample coverage value used if sampleCoverage is True.

Type

float

sampleMask

True if the generated samples should be bitwise AND masked with sampleMaskValue.

Type

bool

sampleMaskValue

The sample mask value that should be masked against the generated coverage.

Type

int

sampleShading

True if rendering should happen at sample-rate frequency.

Type

bool

slopeScaledDepthBias

The slope-scaled depth bias value to apply to z-values.

Type

float

Depth/Stencil State

class renderdoc.GLDepthState

Describes the depth state.

depthBounds

True if depth bounds tests should be applied.

Type

bool

depthEnable

True if depth testing should be performed.

Type

bool

depthFunction

The CompareFunction to use for testing depth values.

Type

CompareFunction

depthWrites

True if depth values should be written to the depth target.

Type

bool

farBound

The far plane bounding value.

Type

float

nearBound

The near plane bounding value.

Type

float

class renderdoc.GLStencilState

Describes the stencil state.

backFace

The stencil state for back-facing polygons.

Type

StencilFace

frontFace

The stencil state for front-facing polygons.

Type

StencilFace

stencilEnable

True if stencil operations should be performed.

Type

bool

Framebuffer

class renderdoc.GLFrameBuffer

Describes the current state of the framebuffer stage of the pipeline.

blendState

The details of the blending state.

Type

GLBlendState

dither

True if dithering should be used when writing to color buffers.

Type

bool

drawFBO

The draw framebuffer.

Type

GLFBO

framebufferSRGB

True if sRGB correction should be applied when writing to an sRGB-formatted texture.

Type

bool

readFBO

The read framebuffer.

Type

GLFBO

class renderdoc.GLFBO

Describes the contents of a framebuffer object.

colorAttachments

The framebuffer color attachments.

Type

List[Descriptor]

depthAttachment

The framebuffer depth attachment.

Type

Descriptor

drawBuffers

The draw buffer indices into the colorAttachments attachment list.

Type

List[int]

readBuffer

The read buffer index in the colorAttachments attachment list.

Type

int

resourceId

The ResourceId of the framebuffer.

Type

ResourceId

stencilAttachment

The framebuffer stencil attachment.

Type

Descriptor

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.

Type

QualityHint

lineSmoothing

A QualityHint with the line smoothing hint.

Type

QualityHint

lineSmoothingEnabled

True if line smoothing is enabled.

Type

bool

polySmoothing

A QualityHint with the polygon smoothing hint.

Type

QualityHint

polySmoothingEnabled

True if polygon smoothing is enabled.

Type

bool

textureCompression

A QualityHint with the texture compression hint.

Type

QualityHint

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.