|
Cogs.Core
|
Contains render resources used by the renderer. More...
#include <RenderResources.h>
Public Member Functions | |
| RenderResources (class Context *context) | |
| void | initialize (Context *context, class Renderer *renderer) |
| void | cleanup (Context *context) |
| COGSCORE_DLL_API struct RenderTarget * | createRenderTarget () |
| COGSCORE_DLL_API struct RenderTexture * | createRenderTexture () |
| struct RenderList * | createRenderList () |
| struct RenderBuffer * | createRenderBuffer () |
| struct RenderMesh * | createRenderMesh () |
| void | destroyRenderMesh (struct RenderMesh *renderMesh) |
| uint32_t | getRenderHandle (struct RenderMesh *renderMesh) |
| struct RenderMesh * | getRenderMesh (uint32_t handle) |
| void | updateResource (struct RenderResource *resource) |
| void | releaseResource (struct RenderResource *resource) |
| COGSCORE_DLL_API void | destroyResource (struct RenderResource *resource) |
| COGSCORE_DLL_API struct RenderEffect * | getRenderEffect (const EffectHandle &effect) |
| COGSCORE_DLL_API struct RenderMaterial * | getRenderMaterial (const Material *material) |
| COGSCORE_DLL_API struct RenderMaterial * | getRenderMaterial (const MaterialHandle &material) |
| COGSCORE_DLL_API struct RenderMaterialInstance * | getRenderMaterialInstance (const MaterialInstance *materialInstance) |
| COGSCORE_DLL_API struct RenderMaterialInstance * | getRenderMaterialInstance (const MaterialInstanceHandle &materialInstance) |
| COGSCORE_DLL_API struct RenderTexture * | getRenderTexture (const TextureHandle &texture) |
| COGSCORE_DLL_API struct RenderMesh * | getRenderMesh (const MeshHandle &mesh) |
| ActivationResult | updateResource (const MeshHandle &meshHandle) override |
| ActivationResult | updateResource (const TextureHandle &textureHandle) override |
| ActivationResult | updateResource (const EffectHandle &effectHandle) override |
| ActivationResult | updateResource (const MaterialHandle &materialHandle) override |
| ActivationResult | updateResource (const MaterialInstanceHandle &materialInstanceHandle) override |
| void | releaseResource (Texture *texture) override |
| void | releaseResource (Mesh *mesh) override |
| void | releaseResource (Material *material) override |
| void | releaseResource (MaterialInstance *materialInstance) override |
| void | releaseResource (Effect *effect) override |
| std::string | getReport () const override |
| Context * | getContext () |
| Renderer * | getRenderer () |
| virtual ActivationResult | updateResource (const TextureHandle &texture)=0 |
| virtual ActivationResult | updateResource (const MeshHandle &mesh)=0 |
| virtual ActivationResult | updateResource (const EffectHandle &effect)=0 |
| virtual ActivationResult | updateResource (const MaterialHandle &material)=0 |
| virtual ActivationResult | updateResource (const MaterialInstanceHandle &materialInstance)=0 |
| virtual void | releaseResource (Texture *texture)=0 |
| virtual void | releaseResource (Mesh *mesh)=0 |
| virtual void | releaseResource (Effect *effect)=0 |
| virtual void | releaseResource (Material *material)=0 |
| virtual void | releaseResource (MaterialInstance *materialInstance)=0 |
| virtual std::string | getReport () const =0 |
Private Attributes | |
| class Renderer * | renderer = nullptr |
| IGraphicsDevice * | device = nullptr |
| Context * | context = nullptr |
| struct RenderStates * | renderStates = nullptr |
| std::unique_ptr< struct RenderResourceStorage > | storage |
Contains render resources used by the renderer.
Engine resources, such as Textures, Mesh and Effect instances, are handed to the renderer when loading/modifying has finished. A corresponding render resource is then created which is responsible for handling GPU residency.
This class keeps track of all the currently resident resources.
Definition at line 18 of file RenderResources.h.
| Cogs::Core::RenderResources::RenderResources | ( | class Context * | context | ) |
Definition at line 63 of file RenderResources.cpp.
| Cogs::Core::RenderResources::~RenderResources | ( | ) |
Definition at line 69 of file RenderResources.cpp.
| void Cogs::Core::RenderResources::cleanup | ( | Context * | context | ) |
Definition at line 107 of file RenderResources.cpp.
| RenderBuffer * Cogs::Core::RenderResources::createRenderBuffer | ( | ) |
Definition at line 133 of file RenderResources.cpp.
| RenderList * Cogs::Core::RenderResources::createRenderList | ( | ) |
Definition at line 126 of file RenderResources.cpp.
| Cogs::Core::RenderMesh * Cogs::Core::RenderResources::createRenderMesh | ( | ) |
Definition at line 140 of file RenderResources.cpp.
| RenderTarget * Cogs::Core::RenderResources::createRenderTarget | ( | ) |
Definition at line 112 of file RenderResources.cpp.
| RenderTexture * Cogs::Core::RenderResources::createRenderTexture | ( | ) |
Definition at line 119 of file RenderResources.cpp.
| void Cogs::Core::RenderResources::destroyRenderMesh | ( | struct RenderMesh * | renderMesh | ) |
Definition at line 149 of file RenderResources.cpp.
| void Cogs::Core::RenderResources::destroyResource | ( | struct RenderResource * | resource | ) |
Definition at line 204 of file RenderResources.cpp.
|
inline |
Definition at line 62 of file RenderResources.h.
| RenderEffect * Cogs::Core::RenderResources::getRenderEffect | ( | const EffectHandle & | effect | ) |
Definition at line 225 of file RenderResources.cpp.
|
inline |
Definition at line 64 of file RenderResources.h.
| uint32_t Cogs::Core::RenderResources::getRenderHandle | ( | struct RenderMesh * | renderMesh | ) |
Definition at line 156 of file RenderResources.cpp.
| RenderMaterial * Cogs::Core::RenderResources::getRenderMaterial | ( | const Material * | material | ) |
Definition at line 234 of file RenderResources.cpp.
| RenderMaterial * Cogs::Core::RenderResources::getRenderMaterial | ( | const MaterialHandle & | material | ) |
Definition at line 248 of file RenderResources.cpp.
| RenderMaterialInstance * Cogs::Core::RenderResources::getRenderMaterialInstance | ( | const MaterialInstance * | materialInstance | ) |
Definition at line 241 of file RenderResources.cpp.
| RenderMaterialInstance * Cogs::Core::RenderResources::getRenderMaterialInstance | ( | const MaterialInstanceHandle & | materialInstance | ) |
Definition at line 253 of file RenderResources.cpp.
| RenderMesh * Cogs::Core::RenderResources::getRenderMesh | ( | const MeshHandle & | mesh | ) |
Definition at line 267 of file RenderResources.cpp.
| RenderMesh * Cogs::Core::RenderResources::getRenderMesh | ( | uint32_t | handle | ) |
Definition at line 161 of file RenderResources.cpp.
| RenderTexture * Cogs::Core::RenderResources::getRenderTexture | ( | const TextureHandle & | texture | ) |
Definition at line 258 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 73 of file RenderResources.cpp.
Definition at line 99 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 378 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 364 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 371 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 355 of file RenderResources.cpp.
| void Cogs::Core::RenderResources::releaseResource | ( | struct RenderResource * | resource | ) |
Definition at line 186 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 342 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 309 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 315 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 321 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 296 of file RenderResources.cpp.
|
overridevirtual |
Implements Cogs::Core::IRenderResources.
Definition at line 303 of file RenderResources.cpp.
| void Cogs::Core::RenderResources::updateResource | ( | struct RenderResource * | resource | ) |
Definition at line 168 of file RenderResources.cpp.
|
private |
Definition at line 69 of file RenderResources.h.
|
private |
Definition at line 68 of file RenderResources.h.
|
private |
Definition at line 67 of file RenderResources.h.
|
private |
Definition at line 70 of file RenderResources.h.
|
private |
Definition at line 72 of file RenderResources.h.