Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
CPatchRData Class Reference

#include <PatchRData.h>

Inheritance diagram for CPatchRData:
CRenderData

Classes

struct  SBaseVertex
 
struct  SBlendVertex
 
struct  SSideVertex
 
struct  SSplat
 
struct  SWaterVertex
 

Public Member Functions

 CPatchRData (CPatch *patch, CSimulation2 *simulation)
 
 ~CPatchRData ()
 
void Update (CSimulation2 *simulation)
 
void RenderOutline ()
 
void RenderSides (CShaderProgramPtr &shader)
 
void RenderPriorities (CTextRenderer &textRenderer)
 
void RenderWater (CShaderProgramPtr &shader)
 
CPatchGetPatch ()
 
const CBoundingBoxAlignedGetWaterBounds () const
 
- Public Member Functions inherited from CRenderData
 CRenderData ()
 
virtual ~CRenderData ()
 

Static Public Member Functions

static void RenderBases (const std::vector< CPatchRData * > &patches, const CShaderDefines &context, ShadowMap *shadow, bool isDummyShader=false, const CShaderProgramPtr &dummy=CShaderProgramPtr())
 
static void RenderBlends (const std::vector< CPatchRData * > &patches, const CShaderDefines &context, ShadowMap *shadow, bool isDummyShader=false, const CShaderProgramPtr &dummy=CShaderProgramPtr())
 
static void RenderStreams (const std::vector< CPatchRData * > &patches, const CShaderProgramPtr &shader, int streamflags)
 
static void PrepareShader (const CShaderProgramPtr &shader, ShadowMap *shadow)
 

Private Member Functions

 cassert (sizeof(SBaseVertex)==28)
 
 cassert (sizeof(SSideVertex)==16)
 
 cassert (sizeof(SBlendVertex)==36)
 
 cassert (sizeof(SWaterVertex)==32)
 
void Build ()
 
void AddBlend (std::vector< SBlendVertex > &blendVertices, std::vector< u16 > &blendIndices, u16 i, u16 j, u8 shape, CTerrainTextureEntry *texture)
 
void BuildBlends ()
 
void BuildIndices ()
 
void BuildVertices ()
 
void BuildSides ()
 
void BuildSide (std::vector< SSideVertex > &vertices, CPatchSideFlags side)
 
void BuildWater ()
 

Private Attributes

CPatchm_Patch
 
CVertexBuffer::VBChunkm_VBSides
 
CVertexBuffer::VBChunkm_VBBase
 
CVertexBuffer::VBChunkm_VBBaseIndices
 
CVertexBuffer::VBChunkm_VBBlends
 
CVertexBuffer::VBChunkm_VBBlendIndices
 
std::vector< SSplatm_Splats
 
std::vector< SSplatm_BlendSplats
 
CBoundingBoxAligned m_WaterBounds
 
CVertexBuffer::VBChunkm_VBWater
 
CVertexBuffer::VBChunkm_VBWaterIndices
 
CSimulation2m_Simulation
 

Static Private Attributes

static const ssize_t water_cell_size = 1
 

Friends

struct SBlendStackItem
 

Additional Inherited Members

- Public Attributes inherited from CRenderData
int m_UpdateFlags
 

Detailed Description

Definition at line 37 of file PatchRData.h.

Constructor & Destructor Documentation

CPatchRData::CPatchRData ( CPatch patch,
CSimulation2 simulation 
)

Definition at line 62 of file PatchRData.cpp.

CPatchRData::~CPatchRData ( )

Definition at line 75 of file PatchRData.cpp.

Member Function Documentation

void CPatchRData::AddBlend ( std::vector< SBlendVertex > &  blendVertices,
std::vector< u16 > &  blendIndices,
u16  i,
u16  j,
u8  shape,
CTerrainTextureEntry texture 
)
private

Definition at line 314 of file PatchRData.cpp.

void CPatchRData::Build ( )
private

Definition at line 653 of file PatchRData.cpp.

void CPatchRData::BuildBlends ( )
private

Definition at line 143 of file PatchRData.cpp.

void CPatchRData::BuildIndices ( )
private

Definition at line 428 of file PatchRData.cpp.

void CPatchRData::BuildSide ( std::vector< SSideVertex > &  vertices,
CPatchSideFlags  side 
)
private

Definition at line 572 of file PatchRData.cpp.

void CPatchRData::BuildSides ( )
private

Definition at line 618 of file PatchRData.cpp.

void CPatchRData::BuildVertices ( )
private

Definition at line 522 of file PatchRData.cpp.

void CPatchRData::BuildWater ( )
private

Definition at line 1274 of file PatchRData.cpp.

CPatchRData::cassert ( sizeof(SBaseVertex = =28)
private
CPatchRData::cassert ( sizeof(SSideVertex = =16)
private
CPatchRData::cassert ( sizeof(SBlendVertex = =36)
private
CPatchRData::cassert ( sizeof(SWaterVertex = =32)
private
CPatch* CPatchRData::GetPatch ( )
inline

Definition at line 56 of file PatchRData.h.

const CBoundingBoxAligned& CPatchRData::GetWaterBounds ( ) const
inline

Definition at line 60 of file PatchRData.h.

static void CPatchRData::PrepareShader ( const CShaderProgramPtr shader,
ShadowMap shadow 
)
static
void CPatchRData::RenderBases ( const std::vector< CPatchRData * > &  patches,
const CShaderDefines context,
ShadowMap shadow,
bool  isDummyShader = false,
const CShaderProgramPtr dummy = CShaderProgramPtr() 
)
static

Definition at line 721 of file PatchRData.cpp.

void CPatchRData::RenderBlends ( const std::vector< CPatchRData * > &  patches,
const CShaderDefines context,
ShadowMap shadow,
bool  isDummyShader = false,
const CShaderProgramPtr dummy = CShaderProgramPtr() 
)
static

Definition at line 898 of file PatchRData.cpp.

void CPatchRData::RenderOutline ( )

Definition at line 1177 of file PatchRData.cpp.

void CPatchRData::RenderPriorities ( CTextRenderer textRenderer)

Definition at line 1242 of file PatchRData.cpp.

void CPatchRData::RenderSides ( CShaderProgramPtr shader)

Definition at line 1217 of file PatchRData.cpp.

void CPatchRData::RenderStreams ( const std::vector< CPatchRData * > &  patches,
const CShaderProgramPtr shader,
int  streamflags 
)
static

Definition at line 1110 of file PatchRData.cpp.

void CPatchRData::RenderWater ( CShaderProgramPtr shader)

Definition at line 1421 of file PatchRData.cpp.

void CPatchRData::Update ( CSimulation2 simulation)

Definition at line 662 of file PatchRData.cpp.

Friends And Related Function Documentation

friend struct SBlendStackItem
friend

Definition at line 63 of file PatchRData.h.

Member Data Documentation

std::vector<SSplat> CPatchRData::m_BlendSplats
private

Definition at line 151 of file PatchRData.h.

CPatch* CPatchRData::m_Patch
private

Definition at line 130 of file PatchRData.h.

CSimulation2* CPatchRData::m_Simulation
private

Definition at line 162 of file PatchRData.h.

std::vector<SSplat> CPatchRData::m_Splats
private

Definition at line 148 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBBase
private

Definition at line 136 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBBaseIndices
private

Definition at line 139 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBBlendIndices
private

Definition at line 145 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBBlends
private

Definition at line 142 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBSides
private

Definition at line 133 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBWater
private

Definition at line 157 of file PatchRData.h.

CVertexBuffer::VBChunk* CPatchRData::m_VBWaterIndices
private

Definition at line 160 of file PatchRData.h.

CBoundingBoxAligned CPatchRData::m_WaterBounds
private

Definition at line 154 of file PatchRData.h.

const ssize_t CPatchRData::water_cell_size = 1
staticprivate

Definition at line 171 of file PatchRData.h.


The documentation for this class was generated from the following files: