UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FOpenGLBoundShaderState Class Reference

#include <OpenGLResources.h>

+ Inheritance diagram for FOpenGLBoundShaderState:

Public Member Functions

 FOpenGLBoundShaderState (FOpenGLVertexDeclaration *InVertexDeclarationRHI, FOpenGLVertexShader *InVertexShaderRHI, FOpenGLPixelShader *InPixelShaderRHI, FOpenGLGeometryShader *InGeometryShaderRHI)
 
const TBitArrayGetTextureNeeds (int32 &OutMaxTextureStageUsed)
 
const TBitArrayGetUAVNeeds (int32 &OutMaxUAVUnitUsed) const
 
void GetNumUniformBuffers (int32 NumVertexUniformBuffers[SF_NumGraphicsFrequencies])
 
bool NeedsTextureStage (int32 TextureStageIndex)
 
int32 MaxTextureStageUsed ()
 
bool RequiresDriverInstantiation ()
 
FOpenGLVertexShaderGetVertexShader ()
 
FOpenGLPixelShaderGetPixelShader ()
 
FOpenGLGeometryShaderGetGeometryShader ()
 
virtual ~FOpenGLBoundShaderState ()
 
- Public Member Functions inherited from FRHIBoundShaderState
 FRHIBoundShaderState ()
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 

Public Attributes

FCachedBoundShaderStateLink CacheLink
 
uint16 StreamStrides [MaxVertexElementCount]
 
FOpenGLLinkedProgram *const LinkedProgram
 
TRefCountPtr< FOpenGLVertexDeclaration > const VertexDeclaration
 
TRefCountPtr< FOpenGLVertexShader > const VertexShader
 
TRefCountPtr< FOpenGLPixelShader > const PixelShader
 
TRefCountPtr< FOpenGLGeometryShader > const GeometryShader
 

Additional Inherited Members

- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 

Detailed Description

Combined shader state and vertex definition for rendering geometry. Each unique instance consists of a vertex decl, vertex shader, and pixel shader.

Constructor & Destructor Documentation

◆ FOpenGLBoundShaderState()

FOpenGLBoundShaderState::FOpenGLBoundShaderState ( FOpenGLVertexDeclaration InVertexDeclarationRHI,
FOpenGLVertexShader InVertexShaderRHI,
FOpenGLPixelShader InPixelShaderRHI,
FOpenGLGeometryShader InGeometryShaderRHI 
)

Initialization constructor.

◆ ~FOpenGLBoundShaderState()

FOpenGLBoundShaderState::~FOpenGLBoundShaderState ( )
virtual

Member Function Documentation

◆ GetGeometryShader()

FOpenGLGeometryShader * FOpenGLBoundShaderState::GetGeometryShader ( )
inline

◆ GetNumUniformBuffers()

void FOpenGLBoundShaderState::GetNumUniformBuffers ( int32  NumVertexUniformBuffers[SF_NumGraphicsFrequencies])

◆ GetPixelShader()

FOpenGLPixelShader * FOpenGLBoundShaderState::GetPixelShader ( )
inline

◆ GetTextureNeeds()

const TBitArray & FOpenGLBoundShaderState::GetTextureNeeds ( int32 OutMaxTextureStageUsed)

◆ GetUAVNeeds()

const TBitArray & FOpenGLBoundShaderState::GetUAVNeeds ( int32 OutMaxUAVUnitUsed) const

◆ GetVertexShader()

FOpenGLVertexShader * FOpenGLBoundShaderState::GetVertexShader ( )
inline

◆ MaxTextureStageUsed()

int32 FOpenGLBoundShaderState::MaxTextureStageUsed ( )

◆ NeedsTextureStage()

bool FOpenGLBoundShaderState::NeedsTextureStage ( int32  TextureStageIndex)

◆ RequiresDriverInstantiation()

bool FOpenGLBoundShaderState::RequiresDriverInstantiation ( )

Member Data Documentation

◆ CacheLink

FCachedBoundShaderStateLink FOpenGLBoundShaderState::CacheLink

◆ GeometryShader

TRefCountPtr<FOpenGLGeometryShader > const FOpenGLBoundShaderState::GeometryShader

◆ LinkedProgram

FOpenGLLinkedProgram* const FOpenGLBoundShaderState::LinkedProgram

◆ PixelShader

TRefCountPtr<FOpenGLPixelShader > const FOpenGLBoundShaderState::PixelShader

◆ StreamStrides

uint16 FOpenGLBoundShaderState::StreamStrides[MaxVertexElementCount]

◆ VertexDeclaration

TRefCountPtr<FOpenGLVertexDeclaration> const FOpenGLBoundShaderState::VertexDeclaration

◆ VertexShader

TRefCountPtr<FOpenGLVertexShader > const FOpenGLBoundShaderState::VertexShader

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