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

openGL 有点三角网格显示不出来

2013-01-02 
openGL 有些三角网格显示不出来同样的代码,有些三角形网可以看到,有些看不到,改成线框模式可以看到,面模式

openGL 有些三角网格显示不出来
同样的代码,有些三角形网可以看到,有些看不到,改成线框模式可以看到,面模式看不到
代码如下


m_disLst = glGenLists(1);

glNewList(m_disLst, GL_COMPILE);

glBegin(GL_TRIANGLES);
for(size_t i = 0; i < m_tris.size(); ++i)
{
glNormal3d(m_norms[m_tris[i]].x, m_norms[m_tris[i]].y, m_norms[m_tris[i]].z);
const ZzGePoint3d& pt = m_pts[m_tris[i]];
glVertex3d(pt.x, pt.y, pt.z);
}
glEnd();
glEndList();


线框和面模式这样切换的
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
[解决办法]
一个面片应该有3个顶点/法线,你一个面片只提交一个顶点自然画不全
[解决办法]
加 glPolygonOffset(1,1); 试一下。GL 对面和线的光栅化不完全一样,导致像素深度计算出现不规则误差。
[解决办法]
把背面裁剪关了

热点排行