Index: ps/trunk/source/graphics/GameView.cpp =================================================================== --- ps/trunk/source/graphics/GameView.cpp +++ ps/trunk/source/graphics/GameView.cpp @@ -1076,16 +1076,19 @@ 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; Index: ps/trunk/source/renderer/PatchRData.cpp =================================================================== --- ps/trunk/source/renderer/PatchRData.cpp +++ ps/trunk/source/renderer/PatchRData.cpp @@ -1466,6 +1466,11 @@ 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 @@ } CVertexBuffer::Unbind(); + +#if !CONFIG2_GLES + if (g_Renderer.m_WaterRenderMode == WIREFRAME) + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); +#endif } Index: ps/trunk/source/renderer/Renderer.h =================================================================== --- ps/trunk/source/renderer/Renderer.h +++ ps/trunk/source/renderer/Renderer.h @@ -257,12 +257,17 @@ } // 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 @@ int m_Height; // current terrain rendering mode ERenderMode m_TerrainRenderMode; + // current water rendering mode + ERenderMode m_WaterRenderMode; // current model rendering mode ERenderMode m_ModelRenderMode; Index: ps/trunk/source/tools/atlas/GameInterface/Handlers/GraphicsSetupHandlers.cpp =================================================================== --- ps/trunk/source/tools/atlas/GameInterface/Handlers/GraphicsSetupHandlers.cpp +++ ps/trunk/source/tools/atlas/GameInterface/Handlers/GraphicsSetupHandlers.cpp @@ -198,6 +198,7 @@ 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); }