|
virtual void | Initialize () override |
| Initialize object.
|
|
virtual void | Destroy () override |
| Destroy object, releasing all resources.
|
|
virtual void | BeginFrame () override |
|
virtual void | EndFrame () override |
|
virtual void | Clear () override |
|
virtual void | RenderMesh (TObjectPtr< LMesh > &InMesh, TObjectPtr< LShader > &InShader, const glm::mat4 &InTransform) override |
|
virtual void | RenderGeometry (TObjectPtr< LRenderCommandBuffer > RenderCommandBuffer, TObjectPtr< LPipeline > Pipeline, TObjectPtr< LVertexBuffer > InVertexBuffer, TObjectPtr< LIndexBuffer > InIndexBuffer, const glm::mat4 &Transform, uint32_t IndexCount) override |
|
virtual void | BeginRenderPass (TObjectPtr< LRenderCommandBuffer > RenderCommandBuffer, TObjectPtr< LRenderPass > renderPass, bool bExplicitClear=false) override |
|
virtual void | EndRenderPass (TObjectPtr< LRenderCommandBuffer > RenderCommandBuffer) override |
|
virtual void | RenderGeometry (TObjectPtr< LRenderCommandBuffer > RenderCommandBuffer, TObjectPtr< LPipeline > Pipeline, TObjectPtr< LMaterial > Material, TObjectPtr< LVertexBuffer > InVertexBuffer, TObjectPtr< LIndexBuffer > InIndexBuffer, const glm::mat4 &Transform, const uint32_t IndexCount) override |
|
virtual void | Draw (LVertexBuffer &InVertexBuffer, const LShader &InShader) override |
|
virtual void | Draw (const LVertexBuffer &VertexBuffer, const LIndexBuffer &IndexBuffer, const LShader &Shader) |
|
virtual void | SetPrimitiveTopology (const ERenderTopology InRenderTopology) override |
|
virtual void | SetDepthFunction (const EDepthFunction InDepthFunction) override |
|
virtual void | SetDepthEnabled (const bool Enabled) override |
|
virtual FRendererCapabilities & | GetCapabilities () override |
|
void | BindArrayTexture (const uint8_t Index) |
|
void | BindArrayTexture (const EArrayTextureDimension Dimension) |
|
TObjectPtr< LOpenGLArrayTexture > | GetArrayTexture (const int Index) |
|
| LObject (const LObject &Other) |
|
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 LClass * | ObjectRegistration ()=0 |
| Register object class.
|
|
virtual FORCEINLINE const LClass * | GetClass () const |
| Get the class for this LObject.
|
|
virtual std::string | ClassName () const =0 |
| Get name of the LObject class.
|
|
LObject & | operator= (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.
|
|
template<typename OtherClassType > |
FORCEINLINE bool | IsA (OtherClassType OtherObject) const |
| Check if the object is the same type as the passed object's.
|
|
|
static FORCEINLINE ERendererAPI | Get () |
|
static void | SetAPI (ERendererAPI InRendererApiType) |
|
static FORCEINLINE std::string | GetName () |
|
static TObjectPtr< LRendererAPI > | Create () |
|
static FORCEINLINE const LClass * | StaticClass () |
| Get static class object.
|
|
static FORCEINLINE std::string | StaticClassName () |
| Static class name.
|
|
template<typename T > |
static void | ValidateLObjectImplementation () |
| Validate the implementation of a LObject.
|
|
template<typename ClassType > |
static FORCEINLINE bool | IsChildOf (const ClassType *InObjectClass, const ClassType *InOtherClass) |
| Check if the object is a child of another class.
|
|
void | SetClass (LClass *InClass) |
| Set the class.
|
|
FORCEINLINE const LClass * | GetClass () const |
| Get the private class member.
|
|
FORCEINLINE bool | IsClassValid () const |
| Check if LObjectBase has a valid LClass object.
|
|
FObjectHandle | ObjectHandle = 0 |
|
bool | bObjectInitialized = false |
|
EObjectFlag | ObjectFlags = EObjectFlag::None |
|
std::atomic< uint32_t > | Ptr_ReferenceCount = 0 |
|
static ERendererAPI | RendererAPI = ERendererAPI::OpenGL |
|