Cogs.Core
ClipmapEffectVariables.h
1#pragma once
2
3#include "Rendering/IEffects.h"
4
5#include <vector>
6
7namespace Cogs
8{
11 {
12 TextureBindingHandle imageryBinding;
13 TextureBindingHandle coarseImageryBinding;
14
15 SamplerStateBindingHandle imagerySamplerBinding;
16 SamplerStateBindingHandle coarseImagerySamplerBinding;
17 };
18
20 {
21 TextureBindingHandle heightMapBinding;
22 TextureBindingHandle coarseHeightMapBinding;
23
24 TextureBindingHandle normalMapBinding;
25 TextureBindingHandle coarseNormalMapBinding;
26
27 SamplerStateBindingHandle heightMapSamplerBinding;
28 SamplerStateBindingHandle coarseHeightMapSamplerBinding;
29
30 SamplerStateBindingHandle normalMapSamplerBinding;
31 SamplerStateBindingHandle coarseNormalMapSamplerBinding;
32
35 {
36 // Avoid too many reallocs.
37 if (perImageryBindingHandles.size() <= index)
38 perImageryBindingHandles.resize(index + 4);
39
40 return perImageryBindingHandles[index];
41 }
42 private:
43 std::vector<PerImageryBindingHandles> perImageryBindingHandles;
44 };
45
47 {
48 BufferHandle globalBuffer;
49
50 BufferHandle levelBuffer;
51 BufferHandle imageryBuffer;
52
53 BufferHandle patchBuffer;
54
55 BufferHandle renderBuffer;
56 BufferHandle levelRenderBuffer;
57
58
59 ConstantBufferBindingHandle globalBufferBinding;
60
61 ConstantBufferBindingHandle levelBufferBinding;
62 ConstantBufferBindingHandle imageryBufferBinding;
63
64 ConstantBufferBindingHandle patchBufferBinding;
65
66 ConstantBufferBindingHandle renderBufferBinding;
67 ConstantBufferBindingHandle levelRenderBufferBinding;
68
69 ConstantBufferBindingHandle customParametersBufferBinding;
70 };
71
73 {
74 BufferHandle oceanBuffer;
75 ConstantBufferBindingHandle oceanBufferBinding;
76 };
77}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
PerImageryBindingHandles & getImageryBindingHandles(const size_t index)
Get imagery specific binding handler for given index.
Per Imagery source binding handles.