OpenGL Pipeline State¶
- class renderdoc.GLState¶
The full current OpenGL pipeline state.
- depthState¶
The depth state.
- Type:
- framebuffer¶
The bound framebuffer.
- Type:
- images¶
The currently bound load/store images.
- Type:
List[GLImageLoadStore]
- pipelineResourceId¶
The
ResourceId
of the program pipeline (if active).
- rasterizer¶
The rasterization configuration.
- Type:
- samplers¶
The currently bound samplers.
- type:
List[GLSampler]
- stencilState¶
The stencil state.
- Type:
- transformFeedback¶
The transform feedback stage.
- Type:
- vertexInput¶
The vertex input stage.
- Type:
- vertexProcessing¶
The fixed-function vertex processing stage.
- Type:
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.
- 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.
- bindpointMapping¶
The bindpoint mapping data to match
reflection
.- Type:
- 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]
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.
Shader Bindings¶
- class renderdoc.GLTexture¶
Describes the details of a texture.
- 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.
- depthReadChannel¶
The channel to read from in a depth-stencil texture.
-1
for non depth-stencil textures.0
if depth should be read.1
if stencil should be read.
- firstMip¶
Valid for textures - the first mip that is available.
- numMips¶
Valid for textures - the number of mips that are available.
- resourceId¶
The
ResourceId
of the underlying resource the view refers to.
- swizzle¶
The swizzle applied to a texture.
- Type:
- type¶
The
TextureType
of the texture.
- 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.
- class renderdoc.GLSampler¶
Describes the sampler properties of a texture.
- UseBorder()¶
Check if the border color is used in this OpenGL sampler.
- Returns:
True
if the border color is used,False
otherwise.- Return type:
bool
- addressR¶
The
AddressMode
in the R direction.
- addressS¶
The
AddressMode
in the S direction.
- addressT¶
The
AddressMode
in the T direction.
- borderColor¶
The RGBA border color.
- Type:
Tuple[float,float,float,float]
- compareFunction¶
The
CompareFunction
for comparison samplers.
- filter¶
The filtering mode.
- Type:
- maxAnisotropy¶
The maximum anisotropic filtering level to use.
- maxLOD¶
The maximum mip level that can be used.
- minLOD¶
The minimum mip level that can be used.
- mipLODBias¶
A bias to apply to the calculated mip level before sampling.
- resourceId¶
The
ResourceId
of the sampler object, if a separate one is set.
- seamlessCubeMap¶
True
if seamless cubemap filtering is enabled for this texture.
- class renderdoc.GLBuffer¶
Describes the properties of a buffer.
- byteOffset¶
The byte offset from the start of the buffer.
- byteSize¶
The byte size of the buffer.
- resourceId¶
The
ResourceId
of the buffer object.
- class renderdoc.GLImageLoadStore¶
Describes the properties of a load/store image.
- imageFormat¶
The format that the image is bound as.
- Type:
- layered¶
True
if multiple layers are bound together to the image.False
if only one layer is bound.
- mipLevel¶
The mip of the texture that’s used in the attachment.
- readAllowed¶
True
if loading from the image is allowed.
- resourceId¶
The
ResourceId
of the texture object.
- slice¶
The slice of the texture that’s used in the attachment.
- type¶
The
TextureType
of the texture.
- writeAllowed¶
True
if storing to the image is allowed.
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[GLAttachment]
- 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:
- class renderdoc.GLAttachment¶
Describes the state of a framebuffer attachment.
- mipLevel¶
The mip of the texture that’s used in the attachment.
- numSlices¶
The number of slices of the texture that are used in the attachment.
- resourceId¶
The
ResourceId
of the texture bound to this attachment.
- slice¶
The slice of the texture that’s used in the attachment.
- swizzle¶
The swizzle applied to the texture.
- 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.