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

#include <OpenGLResources.h>

+ Inheritance diagram for FOpenGLTexture:

Public Types

enum  EAliasConstructorParam { AliasResource }
 

Public Member Functions

UE_API FOpenGLTexture (FOpenGLTextureCreateDesc const &CreateDesc)
 
UE_API FOpenGLTexture (FOpenGLTextureCreateDesc const &CreateDesc, GLuint Resource)
 
UE_API FOpenGLTexture (FOpenGLTexture &Texture, const FString &Name, EAliasConstructorParam)
 
virtual UE_API ~FOpenGLTexture ()
 
UE_API void Initialize (FRHICommandListBase &RHICmdList)
 
UE_API void AliasResources (FOpenGLTexture &Texture)
 
GLuint GetResource ()
 
GLuintGetResourceRef ()
 
GLuint GetRawResourceName () const
 
const GLuintGetRawResourceNameRef () const
 
void SetResource (GLuint InResource)
 
bool IsEvicted () const
 
virtual voidGetTextureBaseRHI () override final
 
UE_API voidLock (uint32 MipIndex, uint32 ArrayIndex, EResourceLockMode LockMode, uint32 &DestStride)
 
UE_API uint32 GetLockSize (uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride)
 
UE_API void Unlock (uint32 MipIndex, uint32 ArrayIndex)
 
virtual voidGetNativeResource () const override
 
bool GetAllocatedStorageForMip (uint32 MipIndex, uint32 FaceIndex) const
 
void SetAllocatedStorageForMip (uint32 MipIndex, uint32 FaceIndex)
 
void SetAllocatedStorage (bool bInAllocatedStorage)
 
UE_API void CloneViaCopyImage (FOpenGLTexture *Src, uint32 InNumMips, int32 SrcOffset, int32 DstOffset)
 
UE_API void Resolve (uint32 MipIndex, uint32 ArrayIndex)
 
UE_API void RestoreEvictedGLResource (bool bAttemptToRetainMips)
 
UE_API bool CanBeEvicted ()
 
UE_API void TryEvictGLResource ()
 
UE_API void RemoveEvictionData ()
 
uint32 GetEffectiveSizeZ () const
 
- Public Member Functions inherited from FRHITexture
virtual const FRHITextureDescGetDesc () const
 
virtual class FRHITextureReferenceGetTextureReference ()
 
virtual FRHIDescriptorHandle GetDefaultBindlessHandle () const
 
virtual voidGetNativeShaderResourceView () const
 
virtual void GetWriteMaskProperties (void *&OutData, uint32 &OutSize)
 
FIntVector GetSizeXYZ () const
 
FIntVector GetMipDimensions (uint8 MipIndex) const
 
bool IsMultisampled () const
 
bool HasClearValue () const
 
FLinearColor GetClearColor () const
 
void GetDepthStencilClearValue (float &OutDepth, uint32 &OutStencil) const
 
float GetDepthClearValue () const
 
uint32 GetStencilClearValue () const
 
void SetLastRenderTime (float InLastRenderTime)
 
double GetLastRenderTime () const
 
RHI_API void SetName (FName InName)
 
FRHITextureGetTexture2D ()
 
FRHITextureGetTexture2DArray ()
 
FRHITextureGetTexture3D ()
 
FRHITextureGetTextureCube ()
 
uint32 GetSizeX () const
 
uint32 GetSizeY () const
 
FIntPoint GetSizeXY () const
 
uint32 GetSizeZ () const
 
uint32 GetNumMips () const
 
EPixelFormat GetFormat () const
 
ETextureCreateFlags GetFlags () const
 
uint32 GetNumSamples () const
 
const FClearValueBinding GetClearBinding () const
 
uint32 GetSize () const
 
- Public Member Functions inherited from FRHIViewableResource
ERHIAccess GetTrackedAccess_Unsafe () const
 
FName GetName () const
 
- 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 Member Functions inherited from FOpenGLViewableResource
 ~FOpenGLViewableResource ()
 
bool HasLinkedViews () const
 
void UpdateLinkedViews ()
 

Public Attributes

GLenum const Target = 0
 
GLenum const Attachment = 0
 
TUniquePtr< FTextureEvictionParamsEvictionParamsPtr
 
class FOpenGLSamplerStateSamplerState = nullptr
 
TArray< TRefCountPtr< FOpenGLPixelBuffer > > PixelBuffers
 
bool bInStencilTextureMode = false
 
uint32 const MemorySize
 
uint8 const bIsPowerOfTwo: 1
 
uint8 const bCanCreateAsEvicted: 1
 
uint8 const bStreamable: 1
 
uint8 const bCubemap: 1
 
uint8 const bArrayTexture: 1
 
uint8 const bDepthStencil: 1
 
uint8 const bAlias: 1
 
uint8 const bMultisampleRenderbuffer: 1
 

Additional Inherited Members

- Protected Member Functions inherited from FRHITexture
 FRHITexture ()=delete
 
RHI_API FRHITexture (const FRHITextureCreateDesc &CreateDesc)
 
RHI_API FRHITexture (ERHIResourceType InResourceType)
 
- Protected Member Functions inherited from FRHIViewableResource
 FRHIViewableResource (ERHIResourceType InResourceType, ERHIAccess InAccess, const TCHAR *InName, FName InOwnerName)
 
virtual void SetTrackedAccessFromContext (FRHITrackedAccess InTrackedAccess)
 
void TakeOwnership (FRHIViewableResource &Other)
 
void ReleaseOwnership ()
 
- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 
- Protected Attributes inherited from FRHIViewableResource
FName Name
 

Member Enumeration Documentation

◆ EAliasConstructorParam

Enumerator
AliasResource 

Constructor & Destructor Documentation

◆ FOpenGLTexture() [1/3]

FOpenGLTexture::FOpenGLTexture ( FOpenGLTextureCreateDesc const &  CreateDesc)
explicit

◆ FOpenGLTexture() [2/3]

FOpenGLTexture::FOpenGLTexture ( FOpenGLTextureCreateDesc const &  CreateDesc,
GLuint  Resource 
)
explicit

◆ FOpenGLTexture() [3/3]

FOpenGLTexture::FOpenGLTexture ( FOpenGLTexture Texture,
const FString &  Name,
EAliasConstructorParam   
)
explicit

◆ ~FOpenGLTexture()

FOpenGLTexture::~FOpenGLTexture ( )
virtual

Member Function Documentation

◆ AliasResources()

void FOpenGLTexture::AliasResources ( FOpenGLTexture Texture)

◆ CanBeEvicted()

bool FOpenGLTexture::CanBeEvicted ( )

◆ CloneViaCopyImage()

void FOpenGLTexture::CloneViaCopyImage ( FOpenGLTexture Src,
uint32  InNumMips,
int32  SrcOffset,
int32  DstOffset 
)

Clone texture from a source using CopyImageSubData

◆ GetAllocatedStorageForMip()

bool FOpenGLTexture::GetAllocatedStorageForMip ( uint32  MipIndex,
uint32  FaceIndex 
) const
inline

Accessors to mark whether or not we have allocated storage for each mip/face. For non-cubemaps FaceIndex should always be zero.

◆ GetEffectiveSizeZ()

uint32 FOpenGLTexture::GetEffectiveSizeZ ( ) const
inline

◆ GetLockSize()

uint32 FOpenGLTexture::GetLockSize ( uint32  MipIndex,
EResourceLockMode  LockMode,
uint32 DestStride 
)

Returns the size of the memory block that is returned from Lock, threadsafe

◆ GetNativeResource()

virtual void * FOpenGLTexture::GetNativeResource ( ) const
inlineoverridevirtual

FRHITexture override. See FRHITexture::GetNativeResource()

Reimplemented from FRHITexture.

◆ GetRawResourceName()

GLuint FOpenGLTexture::GetRawResourceName ( ) const
inline

◆ GetRawResourceNameRef()

const GLuint & FOpenGLTexture::GetRawResourceNameRef ( ) const
inline

◆ GetResource()

GLuint FOpenGLTexture::GetResource ( )
inline

◆ GetResourceRef()

GLuint & FOpenGLTexture::GetResourceRef ( )
inline

◆ GetTextureBaseRHI()

virtual void * FOpenGLTexture::GetTextureBaseRHI ( )
inlinefinaloverridevirtual

Returns access to the platform-specific RHI texture baseclass. This is designed to provide the RHI with fast access to its base classes in the face of multiple inheritance.

Returns
The pointer to the platform-specific RHI texture baseclass or NULL if it not initialized or not supported for this RHI

Reimplemented from FRHITexture.

◆ Initialize()

void FOpenGLTexture::Initialize ( FRHICommandListBase RHICmdList)

◆ IsEvicted()

bool FOpenGLTexture::IsEvicted ( ) const
inline

◆ Lock()

void * FOpenGLTexture::Lock ( uint32  MipIndex,
uint32  ArrayIndex,
EResourceLockMode  LockMode,
uint32 DestStride 
)

Locks one of the texture's mip-maps.

Returns
A pointer to the specified texture data.

◆ RemoveEvictionData()

void FOpenGLTexture::RemoveEvictionData ( )

◆ Resolve()

UE_API void FOpenGLTexture::Resolve ( uint32  MipIndex,
uint32  ArrayIndex 
)

Resolved the specified face for a read Lock, for non-renderable, CPU readable surfaces this eliminates the readback inside Lock itself.

◆ RestoreEvictedGLResource()

void FOpenGLTexture::RestoreEvictedGLResource ( bool  bAttemptToRetainMips)

◆ SetAllocatedStorage()

void FOpenGLTexture::SetAllocatedStorage ( bool  bInAllocatedStorage)
inline

◆ SetAllocatedStorageForMip()

void FOpenGLTexture::SetAllocatedStorageForMip ( uint32  MipIndex,
uint32  FaceIndex 
)
inline

◆ SetResource()

void FOpenGLTexture::SetResource ( GLuint  InResource)
inline

◆ TryEvictGLResource()

void FOpenGLTexture::TryEvictGLResource ( )

◆ Unlock()

void FOpenGLTexture::Unlock ( uint32  MipIndex,
uint32  ArrayIndex 
)

Unlocks a previously locked mip-map.

Member Data Documentation

◆ Attachment

GLenum const FOpenGLTexture::Attachment = 0

The OpenGL attachment point. This should always be GL_COLOR_ATTACHMENT0 in case of color buffer, but the actual texture may be attached on other color attachments.

◆ bAlias

uint8 const FOpenGLTexture::bAlias

◆ bArrayTexture

uint8 const FOpenGLTexture::bArrayTexture

◆ bCanCreateAsEvicted

uint8 const FOpenGLTexture::bCanCreateAsEvicted

◆ bCubemap

uint8 const FOpenGLTexture::bCubemap

◆ bDepthStencil

uint8 const FOpenGLTexture::bDepthStencil

◆ bInStencilTextureMode

bool FOpenGLTexture::bInStencilTextureMode = false

◆ bIsPowerOfTwo

uint8 const FOpenGLTexture::bIsPowerOfTwo

◆ bMultisampleRenderbuffer

uint8 const FOpenGLTexture::bMultisampleRenderbuffer

◆ bStreamable

uint8 const FOpenGLTexture::bStreamable

◆ EvictionParamsPtr

TUniquePtr<FTextureEvictionParams> FOpenGLTexture::EvictionParamsPtr

◆ MemorySize

uint32 const FOpenGLTexture::MemorySize

◆ PixelBuffers

TArray<TRefCountPtr<FOpenGLPixelBuffer> > FOpenGLTexture::PixelBuffers

◆ SamplerState

class FOpenGLSamplerState* FOpenGLTexture::SamplerState = nullptr

◆ Target

GLenum const FOpenGLTexture::Target = 0

The OpenGL texture target.


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