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

OpenGL三角显示

2013-11-12 
OpenGL三角形显示现在遇到个问题:OpenGL中画面的速度较慢。OpenGL中画大量的点可以使用Buffer,这样的速度较

OpenGL三角形显示
现在遇到个问题:OpenGL中画面的速度较慢。

OpenGL中画大量的点可以使用Buffer,这样的速度较快
glBindBuffer(VertexBuffer)  // 绑定定点缓存
glBindBuffer(IndexBuffer)   // 绑定索引缓存
glBindBuffer(VertexNormal)  // 绑定顶点法向量缓存
gldrawelements(GL_TRIANGLES, m_VertexCount, type, NULL);

现在需要将面画出来
面法向量 m_VertexNormal
glBindBuffer(VertexBuffer)  // 绑定定点缓存
glBindBuffer(IndexBuffer)   // 绑定索引缓存
for (int i = 0; i < m_TriCount; i++)
{
   glNormal3fv(m_VertexNormal[i]);
   gldrawelements(GL_TRIANGLES, 3, type, i*3);
}

由于模型的面十分的巨大,上述循环导致在面的模式下,有卡顿现象。
而非面模式下还是流畅的。

不知道有没有高手知道,如何在画面的时候,既使面法向量起到作用,又不用循环来画。
或者有没有什么方法可以快速的将大量的顶点以面的方式画出来。 OpengGL 3D 三维 游戏 显示
[解决办法]
normal也是可以放在vbo里面的
[解决办法]

引用:
normal也是可以放在vbo里面的


同意。其实还有多Buffer,自己可以去看看OpenGL的相关资料。

引用:
面的法向量怎么和面数进行对应和映射呢?


同一个面的所有顶点法向量都相同对吧,那么设置三次相同的法向量就行了。

热点排行