首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

OpenGL三维图形中等深度面渲染有关问题

2013-12-11 
OpenGL三维图形中等深度面渲染问题最近在用OpenGL绘制三维光栅图形,遇到了下面一个问题,如图大立体梯形A包

OpenGL三维图形中等深度面渲染问题
最近在用OpenGL绘制三维光栅图形,遇到了下面一个问题,如图
OpenGL三维图形中等深度面渲染有关问题
OpenGL三维图形中等深度面渲染有关问题
大立体梯形A包含小立体梯形B,高均沿z轴,且A和B的底面都是在同一平面内,但渲染的时候就出现了图中的问题,不知道紫蓝色部分从哪跑出来的,有谁知道这个怎么解决么?先谢谢了!
下面是关于深度缓存的设置且绘制时对深度缓存进行了clear:

CsGL.OpenGL.GL.glClearDepth(1.0f);
CsGL.OpenGL.GL.glDepthFunc(CsGL.OpenGL.GL.GL_LEQUAL);
CsGL.OpenGL.GL.glEnable(CsGL.OpenGL.GL.GL_BLEND);
CsGL.OpenGL.GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
CsGL.OpenGL.GL.glEnable(CsGL.OpenGL.GL.GL_DEPTH_TEST);  //启用深度缓存

[解决办法]
精度问题产生的 z fighting, 解决办法:1.最好自己把里面看不见的东西裁剪掉;2. 两个面之间隔开一点

[解决办法]
去掉阴影

热点排行