Cogs.Core
|
Public Member Functions | |
void | initialize (class GraphicsDeviceVK *graphicsDevice) |
EffectHandle | loadComputeEffect (const StringView &fileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) override |
Load the compute shader with the given file name and create an effect. | |
EffectHandle | loadComputeEffect (const StringView &fileName, const PreprocessorDefinitions &definitions, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) override |
Load the compute shader with the given file name and create an effect. | |
void | releaseEffect (EffectHandle effectHandle) override |
Release the effect with the given handle, freeing all resources generated during program loading. | |
void | releaseResources () override |
Release all allocated effect resources. | |
EffectHandle | load (const ProcessedContent &vsSource, const ProcessedContent &hsSource, const ProcessedContent &dsSource, const ProcessedContent &gsSource, const ProcessedContent &psSource, const StringView &vsEntryPoint, const StringView &hsEntryPoint, const StringView &dsEntryPoint, const StringView &gsEntryPoint, const StringView &psEntryPoint, const EffectDescription &desc) final |
bool | initializeEffectLayout (EffectVK &effect) |
![]() | |
EffectHandle | loadEffect (const EffectDescription &description) final |
Load an effect from the given description. | |
EffectHandle | loadEffectSource (const EffectDescription &description) |
EffectHandle | loadEffectContents (const EffectDescription &description, const EffectContents &contents) |
EffectHandle | loadEffect (const StringView &fileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load the given single file effect. | |
EffectHandle | loadEffect (const StringView &fileName, const PreprocessorDefinitions &defines, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) |
EffectHandle | loadEffect (const StringView &vsFileName, const StringView &psFileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex and pixel shader files given. | |
EffectHandle | loadEffect (const StringView &vsFileName, const StringView &psFileName, const PreprocessorDefinitions &defines, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex and pixel shader files given, applying the given preprocessor definitions to the shaders. | |
EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &psSource, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex and pixel shader sources given. | |
EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &psSource, const PreprocessorDefinitions &defines, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex and pixel shader sources given, applying the given preprocessor definitions to the shaders. | |
EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &gsSource, const StringView &psSource, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex, geometry, and pixel shader sources given. | |
EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &gsSource, const StringView &psSource, const PreprocessorDefinitions &defines, EffectFlags::EEffectFlags effectFlags=EffectFlags::None) final |
Load an effect created from the vertex, geometry, and pixel shader sources given, applying the given preprocessor definitions to the shaders. | |
EffectVariableHandle | getEffectVariable (EffectHandle effectHandle, const StringView &name) override |
Get a handle to the variable with the given name in the effect with the given effectHandle. | |
ConstantBufferBindingHandle | getConstantBufferBinding (EffectHandle effectHandle, const StringView &name) override |
Get a handle to a constant buffer binding, mapping how to bind a constant buffer to the given effect. | |
TextureBindingHandle | getTextureBinding (EffectHandle effectHandle, const StringView &name, const unsigned int slot) override |
Get a handle to a texture object binding, mapping how to bind textures to the given effect. | |
SamplerStateBindingHandle | getSamplerStateBinding (EffectHandle effectHandle, const StringView &name, const unsigned int slot) override |
Get a handle to a sampler state object binding, mapping how to bind the sampler state to the given effect. | |
BufferBindingHandle | getBufferBinding (EffectHandle effectHandle, const StringView &name) override |
Get a handle to a buffer binding. | |
void | releaseBufferBinding (BufferBindingHandle bufferBindingHandle) override |
Release a handle to a buffer binding. | |
void | setIOHandler (IIOHandler *handler) override |
Sets an external I/O handler to use for I/O operations. | |
IIOHandler * | getIOHandler () override |
Gets the external I/O handler. | |
EffectHandle | load (const ProcessedContent &vsSource, const ProcessedContent &psSource, const StringView &vsEntryPoint, const StringView &psEntryPoint, const EffectDescription &desc) |
EffectHandle | load (const ProcessedContent &vsSource, const ProcessedContent &gsSource, const ProcessedContent &psSource, const StringView &vsEntryPoint, const StringView &gsEntryPoint, const StringView &psEntryPoint, const EffectDescription &desc) |
virtual EffectHandle | load (const ProcessedContent &vsSource, const ProcessedContent &hsSource, const ProcessedContent &dsSource, const ProcessedContent &gsSource, const ProcessedContent &psSource, const StringView &vsEntryPoint, const StringView &hsEntryPoint, const StringView &dsEntryPoint, const StringView &gsEntryPoint, const StringView &psEntryPoint, const EffectDescription &desc)=0 |
void | initialize (struct IBuffers *buffers) |
![]() | |
virtual EffectHandle | loadEffect (const EffectDescription &description)=0 |
Load an effect from the given description. | |
virtual EffectHandle | loadEffect (const StringView &fileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load the given single file effect. | |
virtual EffectHandle | loadComputeEffect (const StringView &fileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load the compute shader with the given file name and create an effect. | |
virtual EffectHandle | loadComputeEffect (const StringView &fileName, const PreprocessorDefinitions &definitions, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load the compute shader with the given file name and create an effect. | |
virtual EffectHandle | loadEffect (const StringView &vsFileName, const StringView &psFileName, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex and pixel shader files given. | |
virtual EffectHandle | loadEffect (const StringView &vsFileName, const StringView &psFileName, const PreprocessorDefinitions &definitions, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex and pixel shader files given, applying the given preprocessor definitions to the shaders. | |
virtual EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &psSource, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex and pixel shader sources given. | |
virtual EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &gsSource, const StringView &psSource, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex, geometry, and pixel shader sources given. | |
virtual EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &psSource, const PreprocessorDefinitions &definitions, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex and pixel shader sources given, applying the given preprocessor definitions to the shaders. | |
virtual EffectHandle | loadEffectSource (const StringView &vsSource, const StringView &gsSource, const StringView &psSource, const PreprocessorDefinitions &definitions, EffectFlags::EEffectFlags effectFlags=EffectFlags::None)=0 |
Load an effect created from the vertex, geometry, and pixel shader sources given, applying the given preprocessor definitions to the shaders. | |
virtual void | releaseEffect (EffectHandle effectHandle)=0 |
Release the effect with the given handle, freeing all resources generated during program loading. | |
virtual EffectVariableHandle | getEffectVariable (EffectHandle effectHandle, const StringView &name)=0 |
Get a handle to the variable with the given name in the effect with the given effectHandle. | |
virtual ConstantBufferBindingHandle | getConstantBufferBinding (EffectHandle effectHandle, const StringView &name)=0 |
Get a handle to a constant buffer binding, mapping how to bind a constant buffer to the given effect. | |
virtual TextureBindingHandle | getTextureBinding (EffectHandle effectHandle, const StringView &name, const unsigned int slot)=0 |
Get a handle to a texture object binding, mapping how to bind textures to the given effect. | |
virtual BufferBindingHandle | getBufferBinding (EffectHandle effectHandle, const StringView &name)=0 |
Get a handle to a buffer binding. | |
virtual void | releaseBufferBinding (BufferBindingHandle bufferBindingHandle)=0 |
Release a handle to a buffer binding. | |
virtual SamplerStateBindingHandle | getSamplerStateBinding (EffectHandle effectHandle, const StringView &name, const unsigned int slot)=0 |
Get a handle to a sampler state object binding, mapping how to bind the sampler state to the given effect. | |
virtual void | releaseResources ()=0 |
Release all allocated effect resources. | |
virtual void | annotate (EffectHandle handle, const StringView &name) |
Associate a name with an object for use in graphics debugging. | |
virtual void | annotateVS (EffectHandle handle, const StringView &name) |
Associate a name with an object for use in graphics debugging. | |
virtual void | annotateGS (EffectHandle handle, const StringView &name) |
Associate a name with an object for use in graphics debugging. | |
virtual void | annotatePS (EffectHandle handle, const StringView &name) |
Associate a name with an object for use in graphics debugging. | |
virtual void | annotateCS (EffectHandle handle, const StringView &name) |
Associate a name with an object for use in graphics debugging. | |
virtual void | setIOHandler (IIOHandler *handler)=0 |
Sets an external I/O handler to use for I/O operations. | |
virtual IIOHandler * | getIOHandler () |
Gets the external I/O handler. | |
Public Attributes | |
class GraphicsDeviceVK * | graphicsDevice |
ResourceMap< EffectHandle, EffectVK > | effects |
![]() | |
SafeResourceMap< EffectHandle, Effect > | effects |
ResourceMap< BufferBindingHandle, BufferBinding > | bufferBindings |
IIOHandler * | handler = nullptr |
std::unique_ptr< IIOHandler > | defaultHandler |
struct IBuffers * | buffers = nullptr |
Definition at line 20 of file EffectsVK.h.
void Cogs::EffectsVK::initialize | ( | class GraphicsDeviceVK * | graphicsDevice | ) |
Definition at line 33 of file EffectsVK.cpp.
bool Cogs::EffectsVK::initializeEffectLayout | ( | EffectVK & | effect | ) |
Definition at line 58 of file EffectsVK.cpp.
|
finalvirtual |
Implements Cogs::EffectsCommon.
Definition at line 147 of file EffectsVK.cpp.
|
overridevirtual |
Load the compute shader with the given file name and create an effect.
fileName | File name of a compute shader. |
definitions | A set of preprocessor definitions to apply to the shader source. |
Implements Cogs::IEffects.
Definition at line 45 of file EffectsVK.cpp.
|
overridevirtual |
Load the compute shader with the given file name and create an effect.
fileName | File name of a compute shader. |
Implements Cogs::IEffects.
Definition at line 40 of file EffectsVK.cpp.
|
overridevirtual |
Release the effect with the given handle, freeing all resources generated during program loading.
effectHandle | Valid handle to a previously created effect. |
Implements Cogs::IEffects.
Definition at line 50 of file EffectsVK.cpp.
|
overridevirtual |
Release all allocated effect resources.
Implements Cogs::IEffects.
Definition at line 54 of file EffectsVK.cpp.
ResourceMap<EffectHandle, EffectVK> Cogs::EffectsVK::effects |
Definition at line 48 of file EffectsVK.h.
class GraphicsDeviceVK* Cogs::EffectsVK::graphicsDevice |
Definition at line 46 of file EffectsVK.h.