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)
|
else if (g_Renderer.GetModelRenderMode() == SOLID)
|
||||||
{
|
{
|
||||||
g_Renderer.SetTerrainRenderMode(EDGED_FACES);
|
g_Renderer.SetTerrainRenderMode(EDGED_FACES);
|
||||||
|
g_Renderer.SetWaterRenderMode(EDGED_FACES);
|
||||||
g_Renderer.SetModelRenderMode(EDGED_FACES);
|
g_Renderer.SetModelRenderMode(EDGED_FACES);
|
||||||
}
|
}
|
||||||
else if (g_Renderer.GetModelRenderMode() == EDGED_FACES)
|
else if (g_Renderer.GetModelRenderMode() == EDGED_FACES)
|
||||||
{
|
{
|
||||||
g_Renderer.SetTerrainRenderMode(WIREFRAME);
|
g_Renderer.SetTerrainRenderMode(WIREFRAME);
|
||||||
|
g_Renderer.SetWaterRenderMode(WIREFRAME);
|
||||||
g_Renderer.SetModelRenderMode(WIREFRAME);
|
g_Renderer.SetModelRenderMode(WIREFRAME);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_Renderer.SetTerrainRenderMode(SOLID);
|
g_Renderer.SetTerrainRenderMode(SOLID);
|
||||||
|
g_Renderer.SetWaterRenderMode(SOLID);
|
||||||
g_Renderer.SetModelRenderMode(SOLID);
|
g_Renderer.SetModelRenderMode(SOLID);
|
||||||
}
|
}
|
||||||
return IN_HANDLED;
|
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))
|
if (g_Renderer.m_SkipSubmit || (!m_VBWater && !m_VBWaterShore))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#if !CONFIG2_GLES
|
||||||
|
if (g_Renderer.m_WaterRenderMode == WIREFRAME)
|
||||||
|
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (m_VBWater != 0x0 && !onlyShore)
|
if (m_VBWater != 0x0 && !onlyShore)
|
||||||
{
|
{
|
||||||
SWaterVertex *base=(SWaterVertex *)m_VBWater->m_Owner->Bind();
|
SWaterVertex *base=(SWaterVertex *)m_VBWater->m_Owner->Bind();
|
||||||
@ -1508,4 +1513,9 @@ void CPatchRData::RenderWater(CShaderProgramPtr& shader, bool onlyShore, bool fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
CVertexBuffer::Unbind();
|
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
|
// 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
|
// get the mode to render subsequent terrain patches
|
||||||
ERenderMode GetTerrainRenderMode() const { return m_TerrainRenderMode; }
|
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
|
// 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
|
// get the mode to render subsequent models
|
||||||
ERenderMode GetModelRenderMode() const { return m_ModelRenderMode; }
|
ERenderMode GetModelRenderMode() const { return m_ModelRenderMode; }
|
||||||
|
|
||||||
@ -412,6 +417,8 @@ protected:
|
|||||||
int m_Height;
|
int m_Height;
|
||||||
// current terrain rendering mode
|
// current terrain rendering mode
|
||||||
ERenderMode m_TerrainRenderMode;
|
ERenderMode m_TerrainRenderMode;
|
||||||
|
// current water rendering mode
|
||||||
|
ERenderMode m_WaterRenderMode;
|
||||||
// current model rendering mode
|
// current model rendering mode
|
||||||
ERenderMode m_ModelRenderMode;
|
ERenderMode m_ModelRenderMode;
|
||||||
|
|
||||||
|
@ -198,6 +198,7 @@ MESSAGEHANDLER(ResizeScreen)
|
|||||||
MESSAGEHANDLER(RenderStyle)
|
MESSAGEHANDLER(RenderStyle)
|
||||||
{
|
{
|
||||||
g_Renderer.SetTerrainRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
g_Renderer.SetTerrainRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||||
|
g_Renderer.SetWaterRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||||
g_Renderer.SetModelRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
g_Renderer.SetModelRenderMode(msg->wireframe ? EDGED_FACES : SOLID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user