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

OpenGL vbo 坐标系有关问题

2012-02-05 
OpenGL vbo 坐标系问题渲染函数如下,void renderIsosurface(){glBindBuffer(GL_ARRAY_BUFFER, posVbo)glV

OpenGL vbo 坐标系问题
渲染函数如下,
void renderIsosurface()
{
  glBindBuffer(GL_ARRAY_BUFFER, posVbo);
  glVertexPointer(4, GL_FLOAT, 0, 0);
  glEnableClientState(GL_VERTEX_ARRAY);

  glBindBufferARB(GL_ARRAY_BUFFER_ARB, normalVbo);
  glNormalPointer(GL_FLOAT, sizeof(float)*4, 0);
  glEnableClientState(GL_NORMAL_ARRAY);

  glColor3f(1.0, 0.0, 0.0);
  glDrawArrays(GL_TRIANGLES, 0, totalVerts);
  glDisableClientState(GL_VERTEX_ARRAY);
  glDisableClientState(GL_NORMAL_ARRAY);

  glBindBuffer(GL_ARRAY_BUFFER, 0);
}
posvbo存储顶点坐标,在初始化的时候和数组pos绑定。问题来了:(x,y,z)的顶点,显示在窗口中的位置变成了(-x,-z,-y)。为了证明坐标系是否曾被旋转,我又使用glutSolidSphere()在(x,y,z)位置画了一个球,球位置又是正确的,画在了(x,y,z)。
实在搞不懂怎么回事了,希望大家不吝赐教!



[解决办法]
你用的这几个函数我统统没用过,我只会用最基础的那几个,glClear gluLookAt glPerspective啥的

热点排行