UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FOpenGLRHIState Struct Referencefinal

#include <OpenGLState.h>

+ Inheritance diagram for FOpenGLRHIState:

Public Types

enum  { MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 14 }
 

Public Member Functions

 FOpenGLRHIState ()
 
 ~FOpenGLRHIState ()
 
virtual void InitializeResources (int32 NumCombinedTextures, int32 NumComputeUAVUnits) override
 AB: moved from the header, since it was causing linker error when the header is included externally.
 
virtual void CleanupResources () override
 
- Public Member Functions inherited from FOpenGLCommonState
 FOpenGLCommonState ()
 
virtual ~FOpenGLCommonState ()
 

Public Attributes

FOpenGLRasterizerStateData RasterizerState
 
FOpenGLDepthStencilStateData DepthStencilState
 
uint32 StencilRef
 
FOpenGLBlendStateData BlendState
 
GLuint Framebuffer
 
bool bScissorEnabled
 
FIntRect Scissor
 
FIntRect Viewport
 
float DepthMinZ
 
float DepthMaxZ
 
GLuint ZeroFilledDummyUniformBuffer
 
uint32 RenderTargetWidth
 
uint32 RenderTargetHeight
 
bool bAlphaToCoverageEnabled
 
int32 NumRenderingSamples
 
int32 FirstNonzeroRenderTarget
 
FOpenGLTextureRenderTargets [MaxSimultaneousRenderTargets]
 
uint32 RenderTargetMipmapLevels [MaxSimultaneousRenderTargets]
 
uint32 RenderTargetArrayIndex [MaxSimultaneousRenderTargets]
 
FOpenGLTextureDepthStencil
 
ERenderTargetStoreAction StencilStoreAction
 
uint32 DepthTargetWidth
 
uint32 DepthTargetHeight
 
bool bFramebufferSetupInvalid
 
FOpenGLStream DynamicVertexStream
 
uint32 NumVertices
 
uint32 PrimitiveType
 
uint32 NumPrimitives
 
uint32 MinVertexIndex
 
uint32 IndexDataStride
 
FOpenGLStream Streams [NUM_OPENGL_VERTEX_STREAMS]
 
FOpenGLLinkedProgramLinkedProgramAndDirtyFlag
 
FOpenGLShaderParameterCacheShaderParameters
 
TRefCountPtr< FOpenGLBoundShaderStateBoundShaderState
 
TRefCountPtr< FOpenGLComputeShaderCurrentComputeShader
 
FRHIUniformBufferBoundUniformBuffers [SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE]
 
uint32 BoundUniformBuffersDynamicOffset [SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE]
 
bool bAnyDirtyRealUniformBuffers [SF_NumStandardFrequencies]
 
bool bAnyDirtyGraphicsUniformBuffers
 
uint16 DirtyUniformBuffers [SF_NumStandardFrequencies]
 
uint32 UpVertexBufferBytes
 
uint32 UpIndexBufferBytes
 
uint32 UpStride
 
voidUpVertexBuffer
 
voidUpIndexBuffer
 
- Public Attributes inherited from FOpenGLCommonState
TArray< FTextureStageTextures
 
TArray< FOpenGLSamplerState * > SamplerStates
 
TArray< FUAVStageUAVs
 

Member Enumeration Documentation

◆ anonymous enum

The RHI does not allow more than 14 constant buffers per shader stage due to D3D11 limits.

Enumerator
MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE 

Constructor & Destructor Documentation

◆ FOpenGLRHIState()

FOpenGLRHIState::FOpenGLRHIState ( )
inline

◆ ~FOpenGLRHIState()

FOpenGLRHIState::~FOpenGLRHIState ( )
inline

Member Function Documentation

◆ CleanupResources()

virtual void FOpenGLRHIState::CleanupResources ( )
inlineoverridevirtual

Reimplemented from FOpenGLCommonState.

◆ InitializeResources()

void FOpenGLRHIState::InitializeResources ( int32  NumCombinedTextures,
int32  NumComputeUAVUnits 
)
overridevirtual

AB: moved from the header, since it was causing linker error when the header is included externally.

Reimplemented from FOpenGLCommonState.

Member Data Documentation

◆ bAlphaToCoverageEnabled

bool FOpenGLRHIState::bAlphaToCoverageEnabled

◆ bAnyDirtyGraphicsUniformBuffers

bool FOpenGLRHIState::bAnyDirtyGraphicsUniformBuffers

Bit array to track which uniform buffers have changed since the last draw call.

◆ bAnyDirtyRealUniformBuffers

bool FOpenGLRHIState::bAnyDirtyRealUniformBuffers[SF_NumStandardFrequencies]

Array to track if any real (not emulated) uniform buffers have been bound since the last draw call

◆ bFramebufferSetupInvalid

bool FOpenGLRHIState::bFramebufferSetupInvalid

◆ BlendState

FOpenGLBlendStateData FOpenGLRHIState::BlendState

◆ BoundShaderState

TRefCountPtr<FOpenGLBoundShaderState> FOpenGLRHIState::BoundShaderState

◆ BoundUniformBuffers

Track the currently bound uniform buffers.

◆ BoundUniformBuffersDynamicOffset

uint32 FOpenGLRHIState::BoundUniformBuffersDynamicOffset[SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE]

◆ bScissorEnabled

bool FOpenGLRHIState::bScissorEnabled

◆ CurrentComputeShader

TRefCountPtr<FOpenGLComputeShader> FOpenGLRHIState::CurrentComputeShader

◆ DepthMaxZ

float FOpenGLRHIState::DepthMaxZ

◆ DepthMinZ

float FOpenGLRHIState::DepthMinZ

◆ DepthStencil

FOpenGLTexture* FOpenGLRHIState::DepthStencil

◆ DepthStencilState

FOpenGLDepthStencilStateData FOpenGLRHIState::DepthStencilState

◆ DepthTargetHeight

uint32 FOpenGLRHIState::DepthTargetHeight

◆ DepthTargetWidth

uint32 FOpenGLRHIState::DepthTargetWidth

◆ DirtyUniformBuffers

uint16 FOpenGLRHIState::DirtyUniformBuffers[SF_NumStandardFrequencies]

◆ DynamicVertexStream

FOpenGLStream FOpenGLRHIState::DynamicVertexStream

◆ FirstNonzeroRenderTarget

int32 FOpenGLRHIState::FirstNonzeroRenderTarget

◆ Framebuffer

GLuint FOpenGLRHIState::Framebuffer

◆ IndexDataStride

uint32 FOpenGLRHIState::IndexDataStride

◆ LinkedProgramAndDirtyFlag

FOpenGLLinkedProgram* FOpenGLRHIState::LinkedProgramAndDirtyFlag

◆ MinVertexIndex

uint32 FOpenGLRHIState::MinVertexIndex

◆ NumPrimitives

uint32 FOpenGLRHIState::NumPrimitives

◆ NumRenderingSamples

int32 FOpenGLRHIState::NumRenderingSamples

◆ NumVertices

uint32 FOpenGLRHIState::NumVertices

◆ PrimitiveType

uint32 FOpenGLRHIState::PrimitiveType

◆ RasterizerState

FOpenGLRasterizerStateData FOpenGLRHIState::RasterizerState

◆ RenderTargetArrayIndex

uint32 FOpenGLRHIState::RenderTargetArrayIndex[MaxSimultaneousRenderTargets]

◆ RenderTargetHeight

uint32 FOpenGLRHIState::RenderTargetHeight

◆ RenderTargetMipmapLevels

uint32 FOpenGLRHIState::RenderTargetMipmapLevels[MaxSimultaneousRenderTargets]

◆ RenderTargets

FOpenGLTexture* FOpenGLRHIState::RenderTargets[MaxSimultaneousRenderTargets]

◆ RenderTargetWidth

uint32 FOpenGLRHIState::RenderTargetWidth

◆ Scissor

FIntRect FOpenGLRHIState::Scissor

◆ ShaderParameters

FOpenGLShaderParameterCache* FOpenGLRHIState::ShaderParameters

◆ StencilRef

uint32 FOpenGLRHIState::StencilRef

◆ StencilStoreAction

ERenderTargetStoreAction FOpenGLRHIState::StencilStoreAction

◆ Streams

FOpenGLStream FOpenGLRHIState::Streams[NUM_OPENGL_VERTEX_STREAMS]

◆ UpIndexBuffer

void* FOpenGLRHIState::UpIndexBuffer

◆ UpIndexBufferBytes

uint32 FOpenGLRHIState::UpIndexBufferBytes

◆ UpStride

uint32 FOpenGLRHIState::UpStride

◆ UpVertexBuffer

void* FOpenGLRHIState::UpVertexBuffer

◆ UpVertexBufferBytes

uint32 FOpenGLRHIState::UpVertexBufferBytes

◆ Viewport

FIntRect FOpenGLRHIState::Viewport

◆ ZeroFilledDummyUniformBuffer

GLuint FOpenGLRHIState::ZeroFilledDummyUniformBuffer

The documentation for this struct was generated from the following files: