Cogs.Core
EffectsD3D11.h
1#pragma once
2
3#include "../Base/EffectsCommon.h"
4
5#include "CommonD3D11.h"
6
7namespace Cogs
8{
9 const static uint32_t NoBinding11 = 0xFF;
10
12 {
13 void setDevice(struct GraphicsDeviceD3D11 * graphicsDevice, const ResourcePointer<ID3D11Device> & device);
14
15 void annotate(EffectHandle handle, const StringView & name) override;
16 void annotateVS(EffectHandle handle, const StringView & name) override;
17 void annotateGS(EffectHandle handle, const StringView & name) override;
18 void annotatePS(EffectHandle handle, const StringView & name) override;
19 void annotateCS(EffectHandle handle, const StringView & name) override;
20
21 EffectHandle loadComputeEffect(const StringView & fileName, EffectFlags::EEffectFlags effectFlags) override;
22 EffectHandle loadComputeEffect(const StringView & fileName, const PreprocessorDefinitions & defines, EffectFlags::EEffectFlags effectFlags) override;
23
24 void releaseEffect(EffectHandle handle) override;
25
26 void releaseResources() override;
27
28 using EffectsCommon::load;
29
30 EffectHandle load(const ProcessedContent & vsSource,
31 const ProcessedContent & hsSource,
32 const ProcessedContent & dsSource,
33 const ProcessedContent & gsSource,
34 const ProcessedContent & psSource,
35 const StringView & vsEntryPoint,
36 const StringView & hsEntryPoint,
37 const StringView & dsEntryPoint,
38 const StringView & gsEntryPoint,
39 const StringView & psEntryPoint,
40 const EffectDescription & desc) override;
41
42 void reflectShader(Shader & shader);
43
45 struct GraphicsDeviceD3D11 * graphicsDevice = nullptr;
46 };
47}
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
std::vector< PreprocessorDefinition > PreprocessorDefinitions
A set of preprocessor definitions.
Definition: IEffects.h:13
Contains an effect description used to load a single effect.
Definition: IEffects.h:55
EEffectFlags
Effect source flags.
Definition: IEffects.h:20
EffectHandle loadComputeEffect(const StringView &fileName, EffectFlags::EEffectFlags effectFlags) override
Load the compute shader with the given file name and create an effect.
void annotateVS(EffectHandle handle, const StringView &name) override
Associate a name with an object for use in graphics debugging.
void annotateGS(EffectHandle handle, const StringView &name) override
Associate a name with an object for use in graphics debugging.
void annotatePS(EffectHandle handle, const StringView &name) override
Associate a name with an object for use in graphics debugging.
void releaseEffect(EffectHandle handle) override
Release the effect with the given handle, freeing all resources generated during program loading.
void releaseResources() override
Release all allocated effect resources.
void annotateCS(EffectHandle handle, const StringView &name) override
Associate a name with an object for use in graphics debugging.
void annotate(EffectHandle handle, const StringView &name) override
Associate a name with an object for use in graphics debugging.