|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/RenderAPI/Vulkan/VKShader.hpp>
Public Types | |
| using | Allocator = VKObjectAllocator |
An allocator type used to allocate new VKShader instances from a memory pool. | |
Public Types inherited from CeresEngine::TDeviceObject< GPUShaderDescriptor > | |
| using | Descriptor = GPUShaderDescriptor |
| An type-alias to the descriptor struct type. | |
Static Public Member Functions | |
| static Allocator & | getAllocator () noexcept |
Returns the allocator for VKShader. | |
| static void * | operator new (size_t size) noexcept |
Allocates memory for a new instance of VKShader. | |
| static void | operator delete (void *p, std::size_t size) noexcept |
Deletes memory for an instance of VKShader. | |
Static Public Member Functions inherited from CeresEngine::VKObject< ChildTypeName, ParentType > | |
| static RC< ChildTypeName > | cast (const RC< ParentType > &ptr) |
Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static ChildTypeName & | cast (ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName & | cast (const ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static ChildTypeName * | cast (ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName * | cast (const ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
Static Public Member Functions inherited from CeresEngine::VKObjectBase | |
| static void * | operator new (size_t size) noexcept |
| static void | operator delete (void *p, std::size_t sz) noexcept |
Private Attributes | |
| const GPUShaderDescriptor | descriptorVK |
| A structure that describes the shader and it's properties. | |
| VkShaderModule | mShaderModule = VK_NULL_HANDLE |
| The Vulkan shader module object. | |
| ShaderType | mType |
| The shader type. | |
| GPUShaderReflectionDescriptor | mReflectionDescriptor |
| The shader reflection descriptor. | |
Friends | |
| class | VKShaderProgram |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::GPUShader | |
| const GPUShaderReflectionDescriptor & | reflection |
| The shader reflection descriptor. | |
Public Attributes inherited from CeresEngine::TDeviceObject< GPUShaderDescriptor > | |
| const Descriptor & | descriptor |
| A structure that describes the object and it's properties. | |
Public Attributes inherited from CeresEngine::GPUDeviceObject | |
| GPUDevice & | device |
| The owning device this object was created from. | |
Public Attributes inherited from CeresEngine::VKDeviceObjectBase | |
| VKDevice & | deviceVK |
The owning VKDevice instance. | |
Protected Member Functions inherited from CeresEngine::VKDeviceObject< VKShader, GPUShader > | |
| VKDeviceObject (VKDevice &device) noexcept | |
Creates a new VKDeviceObject from the given device. | |
An allocator type used to allocate new VKShader instances from a memory pool.
| CeresEngine::VKShader::VKShader | ( | VKDevice & | device, |
| const GPUShaderDescriptor & | descriptor | ||
| ) |
|
final |
|
finalvirtualnoexcept |
Reimplemented from CeresEngine::GPUObject.
Returns the allocator for VKShader.
Deletes memory for an instance of VKShader.
Allocates memory for a new instance of VKShader.
|
friend |
|
private |
A structure that describes the shader and it's properties.
|
private |
The shader reflection descriptor.
|
private |
The Vulkan shader module object.
|
private |
The shader type.