diff --git a/irr/src/OpenGL/Driver.cpp b/irr/src/OpenGL/Driver.cpp index dec24c824..25c9a14f6 100644 --- a/irr/src/OpenGL/Driver.cpp +++ b/irr/src/OpenGL/Driver.cpp @@ -1032,9 +1032,7 @@ void COpenGL3DriverBase::drawGeneric(const void *vertices, const void *indexList GL.DrawElements(GL_TRIANGLE_FAN, primitiveCount + 2, indexSize, indexList); break; case scene::EPT_TRIANGLES: - GL.DrawElements((LastMaterial.Wireframe) ? GL_LINES : (LastMaterial.PointCloud) ? GL_POINTS - : GL_TRIANGLES, - primitiveCount * 3, indexSize, indexList); + GL.DrawElements(GL_TRIANGLES, primitiveCount * 3, indexSize, indexList); break; default: break; @@ -1313,6 +1311,17 @@ void COpenGL3DriverBase::setBasicRenderStates(const SMaterial &material, const S getGLBlend(srcAlphaFact), getGLBlend(dstAlphaFact)); } + // fillmode + if (Version.Spec != OpenGLSpec::ES && // not supported in gles + (resetAllRenderStates || + lastmaterial.Wireframe != material.Wireframe || + lastmaterial.PointCloud != material.PointCloud)) { + GL.PolygonMode(GL_FRONT_AND_BACK, + material.Wireframe ? GL_LINE : + material.PointCloud ? GL_POINT : + GL_FILL); + } + // Polygon Offset if (resetAllRenderStates || lastmaterial.PolygonOffsetDepthBias != material.PolygonOffsetDepthBias || diff --git a/src/client/game.cpp b/src/client/game.cpp index b7fa7c471..1166cfee7 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2256,16 +2256,20 @@ void Game::toggleDebug() smgr->setGlobalDebugData(state == 4 ? bbox_debug_flag : 0, state == 4 ? 0 : bbox_debug_flag); - if (state == 1) + if (state == 1) { m_game_ui->showTranslatedStatusText("Debug info shown"); - else if (state == 2) + } else if (state == 2) { m_game_ui->showTranslatedStatusText("Profiler graph shown"); - else if (state == 3) - m_game_ui->showTranslatedStatusText("Wireframe shown"); - else if (state == 4) + } else if (state == 3) { + if (driver->getDriverType() == video::EDT_OGLES2) + m_game_ui->showTranslatedStatusText("Wireframe not supported by video driver"); + else + m_game_ui->showTranslatedStatusText("Wireframe shown"); + } else if (state == 4) { m_game_ui->showTranslatedStatusText("Bounding boxes shown"); - else + } else { m_game_ui->showTranslatedStatusText("All debug info hidden"); + } }