本文整理汇总了C++中ObjectData::getVBO方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectData::getVBO方法的具体用法?C++ ObjectData::getVBO怎么用?C++ ObjectData::getVBO使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectData
的用法示例。
在下文中一共展示了ObjectData::getVBO方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: renderObject
void renderObject ( glm::mat4 MVP, int index )
{
//upload the matrix to the shader
glUniformMatrix4fv(loc_mvpmat, 1, GL_FALSE, glm::value_ptr(MVP));
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, objectsDataList.getTexture(index));
//set up the Vertex Buffer Object so it can be drawn
glEnableVertexAttribArray(loc_position);
glEnableVertexAttribArray(loc_uv);
glEnableVertexAttribArray(loc_normal);
glBindBuffer(GL_ARRAY_BUFFER, objectsDataList.getVBO(index));
//set pointers into the vbo for each of the attributes(position and color)
glVertexAttribPointer( loc_position,//location of attribute
3,//number of elements
GL_FLOAT,//type
GL_FALSE,//normalized?
sizeof(Vertex),//stride
0);//offset
// for uv data
glVertexAttribPointer( loc_uv,
2,
GL_FLOAT,
GL_FALSE,
sizeof(Vertex),
(void*)offsetof(Vertex, uv));
// for normal data
glVertexAttribPointer( loc_normal,
3,
GL_FLOAT,
GL_FALSE,
sizeof(Vertex),
(void*)offsetof(Vertex, normal));
glDrawArrays(GL_TRIANGLES, 0, objectsDataList.getTriangles(index));//mode, starting index, count
}