Adds a wireframe mode to the water rendering.
Reviewed By: wraitii Differential Revision: https://code.wildfiregames.com/D769 This was SVN commit r20378.
This commit is contained in:
parent
38d09ce35c
commit
7e239f38a3
@ -1076,16 +1076,19 @@ InReaction CGameView::HandleEvent(const SDL_Event_* ev)
|
||||
else if (g_Renderer.GetModelRenderMode() == SOLID)
|
||||
{
|
||||
g_Renderer.SetTerrainRenderMode(EDGED_FACES);
|
||||
g_Renderer.SetWaterRenderMode(EDGED_FACES);
|
||||
g_Renderer.SetModelRenderMode(EDGED_FACES);
|
||||
}
|
||||
else if (g_Renderer.GetModelRenderMode() == EDGED_FACES)
|
||||
{
|
||||
g_Renderer.SetTerrainRenderMode(WIREFRAME);
|
||||
g_Renderer.SetWaterRenderMode(WIREFRAME);
|
||||
g_Renderer.SetModelRenderMode(WIREFRAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_Renderer.SetTerrainRenderMode(SOLID);
|
||||
g_Renderer.SetWaterRenderMode(SOLID);
|
||||
g_Renderer.SetModelRenderMode(SOLID);
|
||||
}
|
||||
return IN_HANDLED;
|
||||
|
@ -1466,6 +1466,11 @@ void CPatchRData::RenderWater(CShaderProgramPtr& shader, bool onlyShore, bool fi
|
||||
if (g_Renderer.m_SkipSubmit || (!m_VBWater && !m_VBWaterShore))
|
||||
return;
|
||||
|
||||
#if !CONFIG2_GLES
|
||||
if (g_Renderer.m_WaterRenderMode == WIREFRAME)
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||
#endif
|
||||
|
||||
if (m_VBWater != 0x0 && !onlyShore)
|
||||
{
|
||||
SWaterVertex *base=(SWaterVertex *)m_VBWater->m_Owner->Bind();
|
||||
@ -1508,4 +1513,9 @@ void CPatchRData::RenderWater(CShaderProgramPtr& shader, bool onlyShore, bool fi
|
||||
}
|
||||
|
||||
CVertexBuffer::Unbind();
|
||||
|
||||
#if !CONFIG2_GLES
|
||||
if (g_Renderer.m_WaterRenderMode == WIREFRAME)
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
#endif
|
||||
}
|
||||
|
@ -257,12 +257,17 @@ public:
|
||||
}
|
||||
|
||||
// set the mode to render subsequent terrain patches
|
||||
void SetTerrainRenderMode(ERenderMode mode) { m_TerrainRenderMode=mode; }
|
||||
void SetTerrainRenderMode(ERenderMode mode) { m_TerrainRenderMode = mode; }
|
||||
// get the mode to render subsequent terrain patches
|
||||
ERenderMode GetTerrainRenderMode() const { return m_TerrainRenderMode; }
|
||||
|
||||
// set the mode to render subsequent water patches
|
||||
void SetWaterRenderMode(ERenderMode mode) { m_WaterRenderMode = mode; }
|
||||
// get the mode to render subsequent water patches
|
||||
ERenderMode GetWaterRenderMode() const { return m_WaterRenderMode; }
|
||||
|
||||
// set the mode to render subsequent models
|
||||
void SetModelRenderMode(ERenderMode mode) { m_ModelRenderMode=mode; }
|
||||
void SetModelRenderMode(ERenderMode mode) { m_ModelRenderMode = mode; }
|
||||
// get the mode to render subsequent models
|
||||
ERenderMode GetModelRenderMode() const { return m_ModelRenderMode; }
|
||||
|
||||
@ -412,6 +417,8 @@ protected:
|
||||
int m_Height;
|
||||
// current terrain rendering mode
|
||||
ERenderMode m_TerrainRenderMode;
|
||||
// current water rendering mode
|
||||
ERenderMode m_WaterRenderMode;
|
||||
// current model rendering mode
|
||||
ERenderMode m_ModelRenderMode;
|
||||
|
||||
|
@ -198,6 +198,7 @@ MESSAGEHANDLER(ResizeScreen)
|
||||
MESSAGEHANDLER(RenderStyle)
|
||||
{
|
||||
g_Renderer.SetTerrainRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||
g_Renderer.SetWaterRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||
g_Renderer.SetModelRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user