LkEngine 0.1.2
 
Loading...
Searching...
No Matches
LkEngine::LOpenGLArrayTexture Class Reference
Inheritance diagram for LkEngine::LOpenGLArrayTexture:
LkEngine::LArrayTexture LkEngine::LObject LkEngine::LObjectBase

Public Member Functions

 LOpenGLArrayTexture (const FArrayTextureSpecification &InSpecification)
 
virtual void Bind () override
 
virtual void Unbind () override
 
virtual void AddTextureToArray (const TObjectPtr< LTexture > Texture) override
 
virtual bool RemoveTextureFromArray (const LRendererID TextureID) override
 
virtual FORCEINLINE const LRendererID GetRendererID () const override
 
virtual FORCEINLINE LRendererIDGetRendererID () override
 
virtual FORCEINLINE int GetTextureSlot () const override
 
virtual FORCEINLINE const FArrayTextureSpecificationGetSpecification () const override
 
virtual FORCEINLINE const EArrayTextureDimension GetDimension () const override
 
virtual FORCEINLINE int GetWidth () const override
 
virtual FORCEINLINE int GetHeight () const override
 
virtual FORCEINLINE void SetWidth (const int NewWidth) override
 
virtual FORCEINLINE void SetHeight (const int NewHeight) override
 
virtual FORCEINLINE bool HasTexture (const TObjectPtr< LTexture > &Texture) override
 
virtual FORCEINLINE TObjectPtr< LTextureGetTextureWithID (LRendererID TextureID) override
 
virtual FORCEINLINE int GetIndexOfTexture (const TObjectPtr< LTexture > &Texture) override
 
- Public Member Functions inherited from LkEngine::LArrayTexture
- Public Member Functions inherited from LkEngine::LObject
 LObject (const LObject &Other)
 
virtual void Initialize ()
 Initialize object.
 
virtual void Destroy ()
 Destroy object, releasing all resources.
 
virtual FORCEINLINE bool IsInitialized () const
 Check if object is initialized.
 
FORCEINLINE FObjectHandle GetObjectHandle () const
 Get the object handle.
 
virtual FORCEINLINE bool IsObjectValid () const
 Check if object is valid for use.
 
virtual const LClassObjectRegistration ()=0
 Register object class.
 
virtual FORCEINLINE const LClassGetClass () const
 Get the class for this LObject.
 
virtual std::string ClassName () const =0
 Get name of the LObject class.
 
LObjectoperator= (const LObject &Other)
 
void MarkAsGarbage ()
 Mark object as garbage.
 
template<typename T >
T & As ()
 Cast object to type T.
 
template<typename T >
const T & As () const
 Cast object to type T.
 
template<typename T >
bool IsA () const
 Check if the object is or is a derivation of type T.
 
virtual FORCEINLINE bool IsAsset () const
 Check if object is an asset.
 
FORCEINLINE uint32_t GetReferenceCount () const
 Return current reference count from all object pointers.
 
- Public Member Functions inherited from LkEngine::LObjectBase
template<typename OtherClassType >
FORCEINLINE bool IsA (OtherClassType OtherObject) const
 Check if the object is the same type as the passed object's.
 

Public Attributes

LRendererID m_RendererID = 0
 
FArrayTextureSpecification Specification {}
 
int m_Width = 0
 
int m_Height = 0
 
std::deque< TObjectPtr< LTexture > > Textures {}
 
std::unordered_map< LRendererID, int > IndexCache {}
 
std::unordered_set< LRendererIDTextureIDSet {}
 

Static Public Attributes

static constexpr int MaxTexturesPerArray = 32
 

Additional Inherited Members

- Static Public Member Functions inherited from LkEngine::LArrayTexture
static TObjectPtr< LArrayTextureCreate (const FArrayTextureSpecification &Specification)
 
- Static Public Member Functions inherited from LkEngine::LObject
static FORCEINLINE const LClassStaticClass ()
 Get static class object.
 
static FORCEINLINE std::string StaticClassName ()
 Static class name.
 
template<typename T >
static void ValidateLObjectImplementation ()
 Validate the implementation of a LObject.
 
- Static Public Member Functions inherited from LkEngine::LObjectBase
template<typename ClassType >
static FORCEINLINE bool IsChildOf (const ClassType *InObjectClass, const ClassType *InOtherClass)
 Check if the object is a child of another class.
 
- Protected Member Functions inherited from LkEngine::LObjectBase
void SetClass (LClass *InClass)
 Set the class.
 
FORCEINLINE const LClassGetClass () const
 Get the private class member.
 
FORCEINLINE bool IsClassValid () const
 Check if LObjectBase has a valid LClass object.
 
- Protected Attributes inherited from LkEngine::LObject
FObjectHandle ObjectHandle = 0
 
bool bObjectInitialized = false
 
EObjectFlag ObjectFlags = EObjectFlag::None
 
std::atomic< uint32_t > Ptr_ReferenceCount = 0
 

Member Function Documentation

◆ AddTextureToArray()

void LkEngine::LOpenGLArrayTexture::AddTextureToArray ( const TObjectPtr< LTexture > Texture)
overridevirtual

◆ Bind()

void LkEngine::LOpenGLArrayTexture::Bind ( )
overridevirtual

◆ GetDimension()

virtual FORCEINLINE const EArrayTextureDimension LkEngine::LOpenGLArrayTexture::GetDimension ( ) const
inlineoverridevirtual

◆ GetHeight()

virtual FORCEINLINE int LkEngine::LOpenGLArrayTexture::GetHeight ( ) const
inlineoverridevirtual

◆ GetIndexOfTexture()

virtual FORCEINLINE int LkEngine::LOpenGLArrayTexture::GetIndexOfTexture ( const TObjectPtr< LTexture > & Texture)
inlineoverridevirtual

◆ GetRendererID() [1/2]

virtual FORCEINLINE const LRendererID LkEngine::LOpenGLArrayTexture::GetRendererID ( ) const
inlineoverridevirtual

◆ GetRendererID() [2/2]

virtual FORCEINLINE LRendererID & LkEngine::LOpenGLArrayTexture::GetRendererID ( )
inlineoverridevirtual

◆ GetSpecification()

virtual FORCEINLINE const FArrayTextureSpecification & LkEngine::LOpenGLArrayTexture::GetSpecification ( ) const
inlineoverridevirtual

◆ GetTextureSlot()

virtual FORCEINLINE int LkEngine::LOpenGLArrayTexture::GetTextureSlot ( ) const
inlineoverridevirtual

◆ GetTextureWithID()

virtual FORCEINLINE TObjectPtr< LTexture > LkEngine::LOpenGLArrayTexture::GetTextureWithID ( LRendererID TextureID)
inlineoverridevirtual

◆ GetWidth()

virtual FORCEINLINE int LkEngine::LOpenGLArrayTexture::GetWidth ( ) const
inlineoverridevirtual

◆ HasTexture()

virtual FORCEINLINE bool LkEngine::LOpenGLArrayTexture::HasTexture ( const TObjectPtr< LTexture > & Texture)
inlineoverridevirtual

◆ RemoveTextureFromArray()

bool LkEngine::LOpenGLArrayTexture::RemoveTextureFromArray ( const LRendererID TextureID)
overridevirtual

◆ SetHeight()

virtual FORCEINLINE void LkEngine::LOpenGLArrayTexture::SetHeight ( const int NewHeight)
inlineoverridevirtual

◆ SetWidth()

virtual FORCEINLINE void LkEngine::LOpenGLArrayTexture::SetWidth ( const int NewWidth)
inlineoverridevirtual

◆ Unbind()

void LkEngine::LOpenGLArrayTexture::Unbind ( )
overridevirtual

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