Opengl同时显示模型和三角网格线框
glPolygonMode 函数及相关参数
glPolygonMode(参数1, 参数2);
参数1 可以为: GL_FRONT、GL_BACK、GL_FRONT_AND_BACK
参数2可以为:GL_LINE(注意区分GL_LINES)、GL_FILL
实现效果如下:
针对三维三角网格模型
首先使用glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
得到的网格模型如下所示:
使用glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
得到的网格模型如下所示:
同时显示模型和三角网格线框
具体步骤如下:
- 先以面片填充的方式绘制三角形网格
- 再以线框的方式绘制三角形网格
实现代码:
//渲染循环的代码如下:
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);//填充面
ourModel[2].Draw(ourShader);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);//将绘制模式改为线
glEnable(GL_POLYGON_OFFSET_POINT);//开启多边形偏移
glPolygonOffset(-1.0, -1.0);//设置偏移量,一般-1,1即可
ourModel[2].Draw(ourShader);
glDisable(GL_POLYGON_OFFSET_POINT);//关闭多边形偏移