Pyrogenesis  trunk
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:
Inheritance graph
[legend]
Collaboration diagram for CPatchRData:
Collaboration graph
[legend]

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, bool onlyShore=false, bool fixedPipeline=false)
 
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)==32)
 
 cassert (sizeof(SSideVertex)==16)
 
 cassert (sizeof(SBlendVertex)==64)
 
 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_VBWaterShore
 
CVertexBuffer::VBChunkm_VBWaterIndices
 
CVertexBuffer::VBChunkm_VBWaterIndicesShore
 
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
 

Constructor & Destructor Documentation

CPatchRData::CPatchRData ( CPatch patch,
CSimulation2 simulation 
)
CPatchRData::~CPatchRData ( )

Member Function Documentation

void CPatchRData::AddBlend ( std::vector< SBlendVertex > &  blendVertices,
std::vector< u16 > &  blendIndices,
u16  i,
u16  j,
u8  shape,
CTerrainTextureEntry texture 
)
private
void CPatchRData::Build ( )
private
void CPatchRData::BuildBlends ( )
private
void CPatchRData::BuildIndices ( )
private
void CPatchRData::BuildSide ( std::vector< SSideVertex > &  vertices,
CPatchSideFlags  side 
)
private
void CPatchRData::BuildSides ( )
private
void CPatchRData::BuildVertices ( )
private
void CPatchRData::BuildWater ( )
private
CPatchRData::cassert ( sizeof(SBaseVertex = =32)
private
CPatchRData::cassert ( sizeof(SSideVertex = =16)
private
CPatchRData::cassert ( sizeof(SBlendVertex = =64)
private
CPatchRData::cassert ( sizeof(SWaterVertex = =32)
private
CPatch* CPatchRData::GetPatch ( )
inline
const CBoundingBoxAligned& CPatchRData::GetWaterBounds ( ) const
inline
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
void CPatchRData::RenderBlends ( const std::vector< CPatchRData * > &  patches,
const CShaderDefines context,
ShadowMap shadow,
bool  isDummyShader = false,
const CShaderProgramPtr dummy = CShaderProgramPtr() 
)
static
void CPatchRData::RenderOutline ( )
void CPatchRData::RenderPriorities ( CTextRenderer textRenderer)
void CPatchRData::RenderSides ( CShaderProgramPtr shader)
void CPatchRData::RenderStreams ( const std::vector< CPatchRData * > &  patches,
const CShaderProgramPtr shader,
int  streamflags 
)
static
void CPatchRData::RenderWater ( CShaderProgramPtr shader,
bool  onlyShore = false,
bool  fixedPipeline = false 
)
void CPatchRData::Update ( CSimulation2 simulation)

Friends And Related Function Documentation

friend struct SBlendStackItem
friend

Member Data Documentation

std::vector<SSplat> CPatchRData::m_BlendSplats
private
CPatch* CPatchRData::m_Patch
private
CSimulation2* CPatchRData::m_Simulation
private
std::vector<SSplat> CPatchRData::m_Splats
private
CVertexBuffer::VBChunk* CPatchRData::m_VBBase
private
CVertexBuffer::VBChunk* CPatchRData::m_VBBaseIndices
private
CVertexBuffer::VBChunk* CPatchRData::m_VBBlendIndices
private
CVertexBuffer::VBChunk* CPatchRData::m_VBBlends
private
CVertexBuffer::VBChunk* CPatchRData::m_VBSides
private
CVertexBuffer::VBChunk* CPatchRData::m_VBWater
private
CVertexBuffer::VBChunk* CPatchRData::m_VBWaterIndices
private
CVertexBuffer::VBChunk* CPatchRData::m_VBWaterIndicesShore
private
CVertexBuffer::VBChunk* CPatchRData::m_VBWaterShore
private
CBoundingBoxAligned CPatchRData::m_WaterBounds
private
const ssize_t CPatchRData::water_cell_size = 1
staticprivate

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