|
Cogs.Core
|
Public Member Functions | |
| void | setDevice (const ResourcePointer< ID3D12Device > &device, struct GraphicsDeviceD3D12 *graphicsDevice) |
| EffectHandle | loadComputeEffect (const StringView &fileName, EffectFlags::EEffectFlags effectFlags) override |
| Load the compute shader with the given file name and create an effect. | |
| EffectHandle | loadComputeEffect (const StringView &fileName, const PreprocessorDefinitions &defines, EffectFlags::EEffectFlags effectFlags) override |
| Load the compute shader with the given file name and create an effect. | |
| void | releaseEffect (EffectHandle handle) |
| Release the effect with the given handle, freeing all resources generated during program loading. | |
| void | releaseResources () |
| 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) override |
| HRESULT | compileShader (const std::string &source, const std::vector< D3D_SHADER_MACRO > ¯os, const std::string &entryPoint, const std::string &profile, UINT flags, ID3DBlob **byteCode, EffectFlags::EEffectFlags effectFlags) |
| void | reflectShader (Shader &shader) |
| ResourcePointer< ID3D12RootSignature > | createSignature (EffectSignature &signature) |
Public Member Functions inherited from Cogs::EffectsCommon | |
| 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) |
Public Member Functions inherited from Cogs::IEffects | |
| 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 | |
| struct GraphicsDeviceD3D12 * | graphicsDevice |
| ResourceMap< EffectHandle, EffectD3D12 > | effects |
| size_t | persistentEffects |
| ResourceMap< BufferBindingHandle, BufferBinding > | bufferBindings |
| ResourcePointer< ID3D12Device > | device |
Public Attributes inherited from Cogs::EffectsCommon | |
| SafeResourceMap< EffectHandle, Effect > | effects |
| ResourceMap< BufferBindingHandle, BufferBinding > | bufferBindings |
| IIOHandler * | handler = nullptr |
| std::unique_ptr< IIOHandler > | defaultHandler |
| struct IBuffers * | buffers = nullptr |
Definition at line 14 of file EffectsD3D12.h.
| HRESULT Cogs::EffectsD3D12::compileShader | ( | const std::string & | source, |
| const std::vector< D3D_SHADER_MACRO > & | macros, | ||
| const std::string & | entryPoint, | ||
| const std::string & | profile, | ||
| UINT | flags, | ||
| ID3DBlob ** | byteCode, | ||
| EffectFlags::EEffectFlags | effectFlags | ||
| ) |
Definition at line 44 of file EffectsD3D12.cpp.
| Cogs::ResourcePointer< ID3D12RootSignature > Cogs::EffectsD3D12::createSignature | ( | EffectSignature & | signature | ) |
Definition at line 245 of file EffectsD3D12.cpp.
|
overridevirtual |
Implements Cogs::EffectsCommon.
Definition at line 110 of file EffectsD3D12.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 77 of file EffectsD3D12.cpp.
References Cogs::Handle_t< EffectTag >::InvalidHandle.
|
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 72 of file EffectsD3D12.cpp.
| void Cogs::EffectsD3D12::reflectShader | ( | Shader & | shader | ) |
Definition at line 182 of file EffectsD3D12.cpp.
|
virtual |
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 39 of file EffectsD3D12.cpp.
|
virtual |
Release all allocated effect resources.
Implements Cogs::IEffects.
Definition at line 177 of file EffectsD3D12.cpp.
| void Cogs::EffectsD3D12::setDevice | ( | const ResourcePointer< ID3D12Device > & | device, |
| struct GraphicsDeviceD3D12 * | graphicsDevice | ||
| ) |
Definition at line 63 of file EffectsD3D12.cpp.
| ResourceMap<BufferBindingHandle, BufferBinding> Cogs::EffectsD3D12::bufferBindings |
Definition at line 48 of file EffectsD3D12.h.
| ResourcePointer<ID3D12Device> Cogs::EffectsD3D12::device |
Definition at line 50 of file EffectsD3D12.h.
| ResourceMap<EffectHandle, EffectD3D12> Cogs::EffectsD3D12::effects |
Definition at line 45 of file EffectsD3D12.h.
| struct GraphicsDeviceD3D12* Cogs::EffectsD3D12::graphicsDevice |
Definition at line 18 of file EffectsD3D12.h.
| size_t Cogs::EffectsD3D12::persistentEffects |
Definition at line 46 of file EffectsD3D12.h.