CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::NLShader Class Referencefinal

Null RenderAPI shader object. More...

#include <CeresEngine/RenderAPI/Null/NLShader.hpp>

Inheritance diagram for CeresEngine::NLShader:
CeresEngine::GPUShader CeresEngine::NLDeviceObject< NLShader, GPUShader > CeresEngine::TDeviceObject< GPUShaderDescriptor > CeresEngine::NLObject< ChildTypeName, ParentType > CeresEngine::GPUDeviceObject CeresEngine::GPUObject

Public Member Functions

 NLShader (NLDevicePtr device, const GPUShaderDescriptor &descriptor)
 
 ~NLShader () final
 
- Public Member Functions inherited from CeresEngine::GPUShader
 GPUShader (GPUDevice &device, const Descriptor &descriptor, const GPUShaderReflectionDescriptor &reflection)
 Initializes a new Shader object instance.
 
 GPUShader (const GPUShader &)=delete
 Deleted copy constructor.
 
GPUShaderoperator= (const GPUShader &)=delete
 
 GPUShader (GPUShader &&)=delete
 Deleted move constructor.
 
GPUShaderoperator= (GPUShader &&)=delete
 
const GPUShaderReflectionDescriptorreflect () const
 Extracts reflection information from the shader.
 
- Public Member Functions inherited from CeresEngine::TDeviceObject< GPUShaderDescriptor >
 TDeviceObject (GPUDevice &device, const Descriptor &descriptor)
 Initializes a new RenderAPI device object instance.
 
 TDeviceObject (const TDeviceObject &)=delete
 
 TDeviceObject (TDeviceObject &&)=delete
 
 ~TDeviceObject () override=default
 
TDeviceObjectoperator= (const TDeviceObject &)=delete
 
TDeviceObjectoperator= (TDeviceObject &&)=delete
 
- Public Member Functions inherited from CeresEngine::GPUDeviceObject
 GPUDeviceObject (GPUDevice &device)
 
 ~GPUDeviceObject () override
 
- Public Member Functions inherited from CeresEngine::GPUObject
 GPUObject ()=default
 
virtual ~GPUObject ()=default
 
 GPUObject (const GPUObject &)=delete
 
GPUObjectoperator= (const GPUObject &)=delete
 
 GPUObject (GPUObject &&)=delete
 
GPUObjectoperator= (GPUObject &&)=delete
 
void retain () noexcept
 Retains the object by increment it's reference count by one.
 
bool release () noexcept
 Releases the object by decrementing it's reference count by one.
 

Private Attributes

const GPUShaderDescriptor mDescriptor
 A structure that describes the shader and it's properties.
 
GPUShaderReflectionDescriptor mReflectionDescriptor
 The shader reflection descriptor.
 

Additional Inherited Members

- Public Types inherited from CeresEngine::TDeviceObject< GPUShaderDescriptor >
using Descriptor = GPUShaderDescriptor
 An type-alias to the descriptor struct type.
 
- Static Public Member Functions inherited from CeresEngine::NLObject< ChildTypeName, ParentType >
static RC< ChildTypeNamecast (const RC< ParentType > &ptr)
 Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName.
 
static RC< ChildTypeNamesafeCast (const RC< ParentType > &ptr)
 Safely casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName.
 
static ChildTypeNamecast (ParentType &object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamecast (const ParentType &object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static ChildTypeNamecast (ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamecast (const ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static ChildTypeNamesafeCast (ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamesafeCast (const ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
- Public Attributes inherited from CeresEngine::GPUShader
const GPUShaderReflectionDescriptorreflection
 The shader reflection descriptor.
 
- Public Attributes inherited from CeresEngine::TDeviceObject< GPUShaderDescriptor >
const Descriptordescriptor
 A structure that describes the object and it's properties.
 
- Public Attributes inherited from CeresEngine::GPUDeviceObject
GPUDevicedevice
 The owning device this object was created from.
 
- Protected Member Functions inherited from CeresEngine::GPUObject
virtual void destroy () noexcept
 A internal method called by the system when the object reference count reaches zero.
 
- Protected Member Functions inherited from CeresEngine::NLDeviceObject< NLShader, GPUShader >
 NLDeviceObject (NLDevicePtr device)
 Creates a new NLDeviceObject from the given device.
 
- Protected Attributes inherited from CeresEngine::NLDeviceObject< NLShader, GPUShader >
NLDevicedeviceNL
 The owning NLDevice instance.
 

Detailed Description

Null RenderAPI shader object.

Constructor & Destructor Documentation

◆ NLShader()

CeresEngine::NLShader::NLShader ( NLDevicePtr  device,
const GPUShaderDescriptor descriptor 
)

◆ ~NLShader()

CeresEngine::NLShader::~NLShader ( )
final

Member Data Documentation

◆ mDescriptor

const GPUShaderDescriptor CeresEngine::NLShader::mDescriptor
private

A structure that describes the shader and it's properties.

◆ mReflectionDescriptor

GPUShaderReflectionDescriptor CeresEngine::NLShader::mReflectionDescriptor
private

The shader reflection descriptor.


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