|
|
// 创建顶点缓冲区部分代码
glGenBuffersARB(1, &m_uiVBOVertexID); // 分配VBO顶点坐标对象标识
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_uiVBOVertexID); // 绑定VBO对象标识
glBufferDataARB(GL_ARRAY_BUFFER_ARB, iAllocationSize, m_vecVertexArray, GL_DYNAMIC_DRAW_ARB); //将数据存入VBO对象中
glGenBuffersARB(1, &m_uiVBONormalID); // 分配VBO顶点法线对象标识
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_uiVBONormalID); // 绑定VBO对象标识
glBufferDataARB(GL_ARRAY_BUFFER_ARB, iAllocationSize, m_vecNormalArray, GL_DYNAMIC_DRAW_ARB); // 将数据存入VBO对象中
glGenBuffersARB(1, &m_uiVBOIndexID); // 分配VBO顶点法线对象标识
glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, m_uiVBOIndexID); // 绑定VBO对象标识
glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, iAllocationSize, m_usVertexIndexArray, GL_STATIC_DRAW_ARB); // 将数据存入VBO对象中
// 绘制部分代码
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_uiVBOVertexID); // 绑定顶点坐标数组VBO对象标识
glVertexPointer(3, GL_FLOAT, 0, m_vecVertexArray);
glEnableClientState(GL_VERTEX_ARRAY); // 启动顶点坐标数组
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_uiVBONormalID); // 绑定顶点法线数组VBO对象标识
glNormalPointer(GL_FLOAT, 0, m_vecNormalArray);
glEnableClientState(GL_NORMAL_ARRAY); // 启动顶点法线数组
glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, m_uiVBOIndexID); // 绑定顶点索引数组VBO对象标识
glDrawElements(GL_TRIANGLES, WaterMeshIndexNumber, GL_UNSIGNED_SHORT, m_usVertexIndexArray);
请问为什么绘制不出来?谢谢! |
|