23 #ifndef INCLUDED_TERRAINRENDERER
24 #define INCLUDED_TERRAINRENDERER
174 #endif // INCLUDED_TERRAINRENDERER
void RenderOutlines(bool filtered=false)
RenderOutlines: Render the outline of patches as lines.
void RenderWater(const CShaderDefines &context, ShadowMap *shadow)
RenderWater: Render water for all patches that have been submitted this frame.
void PrepareForRendering()
PrepareForRendering: Prepare internal data structures like vertex buffers for rendering.
Struct TerrainRendererInternals: Internal variables used by the TerrainRenderer class.
void RenderTerrainShader(const CShaderDefines &context, ShadowMap *shadow, bool filtered=false)
Render textured terrain, as with RenderTerrain, but using shaders instead of multitexturing.
void RenderTerrain(bool filtered=false)
RenderTerrain: Render textured terrain (including blends between different terrain types)...
Class ShadowMap: Maintain the shadow map texture and perform necessary OpenGL setup, including matrix calculations.
Public API for simulation system.
void RenderPatches(bool filtered=false)
RenderPatches: Render all patches un-textured as polygons.
void RenderPriorities()
Render priority text for all submitted patches, for debugging.
bool CullPatches(const CFrustum *frustum)
CullPatches: Culls patches and decals against a frustum, and stores the results in a special filtered...
void EndFrame()
EndFrame: Remove all patches from the list of submitted patches.
void RenderTerrainOverlayTexture(CMatrix3D &textureMatrix)
Render texture unit 0 over the terrain mesh, with UV coords calculated by the given texture matrix...
void Submit(CPatch *patch)
Submit: Add a patch for rendering in this frame.
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
void RenderSimpleWater()
RenderSimpleWater: internal rendering method for water.
static void PrepareShader(const CShaderProgramPtr &shader, ShadowMap *shadow)
Set up all the uniforms for a shader pass.
Class TerrainRenderer: Render everything related to the terrain, especially patches and water...
bool RenderFancyWater(const CShaderDefines &context, ShadowMap *shadow)
RenderFancyWater: internal rendering method for fancy water.
CBoundingBoxAligned ScissorWater(const CMatrix3D &viewproj)
Calculate a scissor rectangle for the visible water patches.
shared_ptr< CShaderProgram > CShaderProgramPtr
void SetSimulation(CSimulation2 *simulation)
Set the simulation context for this frame.
Class WaterManager: Maintain water settings and textures.
TerrainRendererInternals * m