Cogs.Core
NormalUpdater.h
1#pragma once
2
3#include "ClipmapLevel.h"
4
5namespace Cogs
6{
7 class IGraphicsDevice;
8 class ClipmapUpdate;
9
10 struct RenderContext;
11 struct WorldOptions;
12
14 {
15 public:
16 void initialize(IGraphicsDevice * device);
17
18 void updateNormalLevel(RenderContext & context, const WorldOptions & worldOptions, const ClipmapUpdate & update, ClipmapLevel & normalLevel);
19 void renderNormals(RenderContext & context, const WorldOptions & worldOptions, const std::vector<ClipmapUpdate> & normalUpdates, ClipmapLevel & normalLevel);
20
21 VertexBufferHandle vertexBufferHandle;
22 InputLayoutHandle computeNormalsLayoutHandle;
23
24 SamplerStateHandle nearestRepeatStateHandle;
25
26 EffectHandle computeNormalsEffectHandle;
27
28 BufferHandle normalLevelBuffer;
29 ConstantBufferBindingHandle normalLevelBinding;
30
31 BufferHandle normalUpdateBuffer;
32 ConstantBufferBindingHandle normalUpdateBinding;
33
34 TextureBindingHandle levelTextureBinding;
35 SamplerStateBindingHandle samplerStateBinding;
36 };
37}
Represents a graphics device used to manage graphics resources and issue drawing commands.
Contains all Cogs related functionality.
Definition: FieldSetter.h:23