3#include "Rendering/IEffects.h"
5#include "MaterialTypes.h"
6#include "MeshStreamsLayout.h"
7#include "Utilities/Strings.h"
13 enum InterpolationModifiers
16 LinearModifier = (1 << 0),
17 CentroidModifier = (1 << 1),
18 NointerpolationModifier = (1 << 2),
19 NoperspectiveModifier = (1 << 3),
20 SampleModifier = (1 << 4)
21 } modifiers = NoModifier;
23 enum struct SemanticName : uint8_t {
32 FirstSystemValueSemantic,
33 SV_Position = FirstSystemValueSemantic,
43 SemanticName name = SemanticName::None;
49 uint8_t inheritanceLevel = 0;
51 static StringView semanticNameString(
const SemanticName name);
56 std::vector<ShaderInterfaceMemberDefinition> members;
67 std::string customSourcePath;
70 std::string entryPoint;
72 std::vector<AttributeDefinition> attributes;
77 enum EffectDefinitionFlags
114 EffectDefinitionFlags flags = EffectDefinitionFlags::None;
Provides a weakly referenced view over the contents of a string.
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
@ Normal
Regular shaded rendering.
std::vector< PreprocessorDefinition > PreprocessorDefinitions
A set of preprocessor definitions.
Defines a loadable effect.
std::string name
Name of the effect.
std::vector< std::string > dependencies
MeshStreamsLayout streamsLayout
The vertex layout this effect expects.
PreprocessorDefinitions definitions
Preprocessor definitions.