UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FOpenGLLinkedProgram Class Referencefinal
+ Inheritance diagram for FOpenGLLinkedProgram:

Classes

struct  FComputeProgram
 
struct  FGraphicsProgram
 
class  FLRUInfo
 
struct  FPackedUniformInfo
 
struct  FShaderStage
 

Public Member Functions

FGraphicsProgram const & GetGraphicsProgram () const
 
FComputeProgram const & GetComputeProgram () const
 
bool IsGraphics () const
 
bool IsCompute () const
 
 FOpenGLLinkedProgram (const FOpenGLProgramKey &InProgramKey, GLuint InProgram)
 
 FOpenGLLinkedProgram (FOpenGLVertexShader *VertexShader, FOpenGLPixelShader *PixelShader, FOpenGLGeometryShader *GeometryShader)
 
 FOpenGLLinkedProgram (FOpenGLComputeShader *ComputeShader)
 
 ~FOpenGLLinkedProgram ()
 
void DeleteGLResources ()
 
template<typename TProgramType , typename... TArgs>
void UpdateShaders (TArgs &&... Args)
 
FShaderStage const & GetStage (CrossCompiler::EShaderStage Stage) const
 
- Public Member Functions inherited from FOpenGLLinkedProgramBase
int32 GetProgramBinarySize () const
 

Public Attributes

class FOpenGLLinkedProgram::FLRUInfo LRUInfo
 
- Public Attributes inherited from FOpenGLLinkedProgramBase
FOpenGLProgramKey const ProgramKey
 
TBitArray TextureStageNeeds { false, FOpenGL::GetMaxCombinedTextureImageUnits() }
 
TBitArray UAVStageNeeds { false, FOpenGL::GetMaxCombinedUAVUnits() }
 
int32 MaxTextureStage = -1
 
int32 MaxUAVUnitUsed = -1
 
GLuint Program = 0
 
bool bDrawn = false
 

Additional Inherited Members

- Protected Member Functions inherited from FOpenGLLinkedProgramBase
 FOpenGLLinkedProgramBase (FOpenGLProgramKey const &ProgramKey, GLuint Program)
 

Constructor & Destructor Documentation

◆ FOpenGLLinkedProgram() [1/3]

FOpenGLLinkedProgram::FOpenGLLinkedProgram ( const FOpenGLProgramKey InProgramKey,
GLuint  InProgram 
)

◆ FOpenGLLinkedProgram() [2/3]

FOpenGLLinkedProgram::FOpenGLLinkedProgram ( FOpenGLVertexShader VertexShader,
FOpenGLPixelShader PixelShader,
FOpenGLGeometryShader GeometryShader 
)

◆ FOpenGLLinkedProgram() [3/3]

FOpenGLLinkedProgram::FOpenGLLinkedProgram ( FOpenGLComputeShader ComputeShader)

◆ ~FOpenGLLinkedProgram()

FOpenGLLinkedProgram::~FOpenGLLinkedProgram ( )
inline

Member Function Documentation

◆ DeleteGLResources()

void FOpenGLLinkedProgram::DeleteGLResources ( )
inline

◆ GetComputeProgram()

FComputeProgram const & FOpenGLLinkedProgram::GetComputeProgram ( ) const
inline

◆ GetGraphicsProgram()

FGraphicsProgram const & FOpenGLLinkedProgram::GetGraphicsProgram ( ) const
inline

◆ GetStage()

FShaderStage const & FOpenGLLinkedProgram::GetStage ( CrossCompiler::EShaderStage  Stage) const
inline

◆ IsCompute()

bool FOpenGLLinkedProgram::IsCompute ( ) const
inline

◆ IsGraphics()

bool FOpenGLLinkedProgram::IsGraphics ( ) const
inline

◆ UpdateShaders()

template<typename TProgramType , typename... TArgs>
void FOpenGLLinkedProgram::UpdateShaders ( TArgs &&...  Args)
inline

Member Data Documentation

◆ LRUInfo

class FOpenGLLinkedProgram::FLRUInfo FOpenGLLinkedProgram::LRUInfo

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