Cogs.Core
EffectBinding.h
1#pragma once
2
3#include "Rendering/Common.h"
4
5#include "Resources/Resources.h"
6#include "Resources/MaterialTypes.h"
7
8#include <unordered_map>
9#include <vector>
10
11namespace Cogs
12{
13 namespace Core
14 {
15 struct RenderEffect;
16
18 {
21
29
38 SamplerStateBindingHandle ambientIrradianceSamplerBinding = SamplerStateBindingHandle::NoHandle;
40
42
45 };
46
48 {
49 std::vector<ConstantBufferBindingHandle> bufferBindings;
50 uint16_t buffersGeneration = static_cast<uint16_t>(-1);
51 uint16_t generation = 0;
52 uint16_t effectGeneration = static_cast<uint16_t>(-1);
53
54 std::vector<TextureBindingHandle> textureBindings;
55 std::vector<SamplerStateBindingHandle> samplerBindings;
56
58
60
61 struct Buffer
62 {
63 BufferHandle handle;
64 size_t generation = 0;
65 };
66
67 RenderEffect * renderEffect = nullptr;
68 std::vector<Buffer> buffers;
69 };
70 }
71}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
static const Handle_t NoHandle
Represents a handle to nothing.
Definition: Common.h:78