|
CeresEngine 0.2.0
A game development framework
|
The renderer shader manager that is responsible for managing and re-using GPU shaders. More...
#include <CeresEngine/Renderer/Resources/RendererShader.hpp>
Classes | |
| struct | ShaderInfo |
Public Member Functions | |
| RendererShaderManager (Renderer &renderer) | |
| Creates a new Shader Manager instance. | |
| RendererShaderPtr | get (StringView name, const GPUShaderProgramDescriptor &descriptor) |
| Gets (or creates) a new RendererShader from a shader shader program descriptor. | |
| RendererShaderPtr | get (const GPUShaderProgramDescriptor &descriptor) |
| Gets (or creates) a new RendererShader from a shader shader program descriptor. | |
| RendererShaderPtr | get (StringView name, const ShaderPtr &shader) |
| Gets (or creates) a new RendererShader from a shader. | |
| RendererShaderPtr | get (const ShaderPtr &shader) |
| Gets (or creates) a new RendererShader from a shader. | |
| RendererShaderPtr | get (const HShader &shader) |
| Gets (or creates) a new RendererShader from a shader. | |
| RendererShaderPtr | get (const StringView name, const HShader &shader) |
| Gets (or creates) a new RendererShader from a shader. | |
Private Member Functions | |
| RendererShaderPtr | getOrCreate (StringView name, const GPUShaderProgramDescriptor &descriptor) |
Gets an existing or creates a new renderer shader instance for the given base descriptor. | |
| RendererShaderPtr | getOrCreate (StringView name, const ShaderPtr &shader) |
Gets an existing or creates a new renderer shader instance for the given shader. | |
| void | notifyDestroy (const RendererShader *shader) noexcept |
| Notifies the manager that the renderer shader is being destroyed. | |
Private Attributes | |
| Renderer & | mRenderer |
| The renderer that owns this manager instance. | |
| HashMap< UInt64, ShaderInfo > | mShaders |
| A map that holds shader information for each base shader descriptor. | |
Friends | |
| class | RendererShader |
The renderer shader manager that is responsible for managing and re-using GPU shaders.
|
explicit |
Creates a new Shader Manager instance.
| renderer | The renderer that owns this manager instance. |
|
inline |
Gets (or creates) a new RendererShader from a shader shader program descriptor.
| descriptor | The base descriptor that describes the shader that should be managed by the renderer. |
|
inline |
Gets (or creates) a new RendererShader from a shader.
| shader | The shader to be compiled and used to create the shader program. |
|
inline |
Gets (or creates) a new RendererShader from a shader.
| shader | The shader to be compiled and used to create the shader program. |
|
inline |
Gets (or creates) a new RendererShader from a shader.
| shader | The shader to be compiled and used to create the shader program. |
| RendererShaderPtr CeresEngine::RendererShaderManager::get | ( | StringView | name, |
| const GPUShaderProgramDescriptor & | descriptor | ||
| ) |
Gets (or creates) a new RendererShader from a shader shader program descriptor.
| descriptor | The base descriptor that describes the shader that should be managed by the renderer. |
| RendererShaderPtr CeresEngine::RendererShaderManager::get | ( | StringView | name, |
| const ShaderPtr & | shader | ||
| ) |
Gets (or creates) a new RendererShader from a shader.
| shader | The shader to be compiled and used to create the shader program. |
|
private |
Gets an existing or creates a new renderer shader instance for the given base descriptor.
|
private |
Gets an existing or creates a new renderer shader instance for the given shader.
|
privatenoexcept |
Notifies the manager that the renderer shader is being destroyed.
|
friend |
|
private |
The renderer that owns this manager instance.
|
private |
A map that holds shader information for each base shader descriptor.