18 #ifndef INCLUDED_PATCHRDATA 19 #define INCLUDED_PATCHRDATA 50 const bool bindPositionAsTexCoord);
54 const bool bindWaterData);
83 const std::vector<CPatchRData*>& patches);
87 const std::vector<CPatchRData*>& patches);
149 void AddBlend(std::vector<SBlendVertex>& blendVertices, std::vector<u16>& blendIndices,
206 #endif // INCLUDED_PATCHRDATA static const ssize_t water_cell_size
Definition: PatchRData.h:203
CVector3D m_Normal
Definition: PatchRData.h:110
void BuildWater()
Definition: PatchRData.cpp:1374
CVertexBufferManager::Handle m_VBBaseIndices
Definition: PatchRData.h:169
static Renderer::Backend::IVertexInputLayout * GetSideVertexInputLayout()
Definition: PatchRData.cpp:145
static Renderer::Backend::IVertexInputLayout * GetWaterShoreVertexInputLayout()
Definition: PatchRData.cpp:190
CBoundingBoxAligned m_WaterBounds
Definition: PatchRData.h:184
void BuildBlends()
Definition: PatchRData.cpp:271
CVertexBufferManager::Handle m_VBWaterIndicesShore
Definition: PatchRData.h:192
uint16_t u16
Definition: types.h:38
void BuildVertices()
Definition: PatchRData.cpp:644
CVertexBufferManager::Handle m_VBWater
Definition: PatchRData.h:187
SSplat()
Definition: PatchRData.h:96
Definition: Vector3D.h:30
Definition: PatchRData.h:125
static void PrepareShader(ShadowMap *shadow)
CPatchRData(CPatch *patch, CSimulation2 *simulation)
Definition: PatchRData.cpp:206
CPatch * GetPatch()
Definition: PatchRData.h:68
static Renderer::Backend::IVertexInputLayout * GetStreamVertexInputLayout(const bool bindPositionAsTexCoord)
Definition: PatchRData.cpp:114
Definition: TerrainTextureEntry.h:32
Class ShadowMap: Maintain the shadow map texture and perform necessary OpenGL setup, including matrix calculations.
Definition: ShadowMap.h:38
static Renderer::Backend::IVertexInputLayout * GetWaterSurfaceVertexInputLayout(const bool bindWaterData)
Definition: PatchRData.cpp:158
void Build()
Definition: PatchRData.cpp:785
uint8_t u8
Definition: types.h:37
CPatchSideFlags
Definition: Patch.h:38
CVector3D m_Position
Definition: PatchRData.h:109
Definition: TextRenderer.h:33
void AddBlend(std::vector< SBlendVertex > &blendVertices, std::vector< u16 > &blendIndices, u16 i, u16 j, u8 shape, CTerrainTextureEntry *texture)
Definition: PatchRData.cpp:441
Public API for simulation system.
Definition: Simulation2.h:46
CVertexBufferManager::Handle m_VBSides
Definition: PatchRData.h:163
CVertexBufferManager::Handle m_VBWaterShore
Definition: PatchRData.h:188
void RenderWaterShore(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout)
Definition: PatchRData.cpp:1596
void BuildSide(std::vector< SSideVertex > &vertices, CPatchSideFlags side)
Definition: PatchRData.cpp:692
Definition: VertexBufferManager.h:46
Definition: RenderableObject.h:40
cassert(sizeof(SBaseVertex)==32)
std::vector< SSplat > m_BlendSplats
Definition: PatchRData.h:181
Definition: PatchRData.h:106
CVertexBufferManager::Handle m_VBBlends
Definition: PatchRData.h:172
CVector3D m_Position
Definition: PatchRData.h:119
void Update(CSimulation2 *simulation)
Definition: PatchRData.cpp:794
static void RenderBases(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout, const std::vector< CPatchRData *> &patches, const CShaderDefines &context, ShadowMap *shadow)
Definition: PatchRData.cpp:856
Definition: PatchRData.h:94
Definition: PatchRData.h:136
Definition: PatchRData.h:41
CTerrainTextureEntry * m_Texture
Definition: PatchRData.h:99
CVector2D m_WaterData
Definition: PatchRData.h:140
size_t m_IndexCount
Definition: PatchRData.h:103
intptr_t ssize_t
Definition: wposix_types.h:82
CVertexBufferManager::Handle m_VBWaterIndices
Definition: PatchRData.h:191
size_t m_IndexStart
Definition: PatchRData.h:101
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
Definition: ShaderDefines.h:146
static void RenderStreams(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout, const std::vector< CPatchRData *> &patches)
Definition: PatchRData.cpp:1219
Definition: Vector2D.h:31
void BuildIndices()
Definition: PatchRData.cpp:548
CVector3D m_Normal
Definition: PatchRData.h:131
Definition: PatchRData.h:116
Definition: BoundingBoxAligned.h:33
std::vector< SSplat > m_Splats
Definition: PatchRData.h:178
void RenderPriorities(CTextRenderer &textRenderer)
Definition: PatchRData.cpp:1342
void RenderOutline()
Definition: PatchRData.cpp:1276
CSimulation2 * m_Simulation
Definition: PatchRData.h:194
CVertexBufferManager::Handle m_VBBlendIndices
Definition: PatchRData.h:175
void BuildSides()
Definition: PatchRData.cpp:745
static void RenderBlends(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout, const std::vector< CPatchRData *> &patches, const CShaderDefines &context, ShadowMap *shadow)
Definition: PatchRData.cpp:1016
static void RenderSides(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout, const std::vector< CPatchRData *> &patches)
Definition: PatchRData.cpp:1308
const CBoundingBoxAligned & GetWaterBounds() const
Definition: PatchRData.h:70
Helper structure for RenderBlends.
Definition: PatchRData.cpp:1002
Definition: IDeviceCommandContext.h:40
CVector3D m_Position
Definition: PatchRData.h:139
void RenderWaterSurface(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IVertexInputLayout *vertexInputLayout)
Definition: PatchRData.cpp:1569
CVertexBufferManager::Handle m_VBBase
Definition: PatchRData.h:166
CPatch * m_Patch
Definition: PatchRData.h:160
static Renderer::Backend::IVertexInputLayout * GetBaseVertexInputLayout()
Definition: PatchRData.cpp:68
static Renderer::Backend::IVertexInputLayout * GetBlendVertexInputLayout()
Definition: PatchRData.cpp:89
CVector3D m_Position
Definition: PatchRData.h:128