0
点赞
收藏
分享

微信扫一扫

《高效学习OpenGL》之混合数组 glInterleavedArrays()

glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);


//format:图片

《高效学习OpenGL》之混合数组 glInterleavedArrays()_内存地址

//stride:连续顶点之间的字节偏移量


//pointer:数组第一个顶点的第一个坐标的内存地址


此函数的效果相当于

int str;
str = stride;
if (str == 0)
{
str = s; //s为一个顶点到另一个顶点的跨距值
}

glDisable(GL_EDGE_FLAG_ARRAY);
glDisable(GL_INDEX_ARRAY);
glDisable(GL_SECONDARY_COLOR_ARRAY);
glDisable(GL_FOG_COORD_ARRAY);

if (et)
{
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(st, GL_FLOAT, str, pointer);
}
else
{
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
if (ec)
{
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(sc, tc, str, pointer+pc);
}
else
{
glDisableClientState(GL_COLOR_ARRAY);
}
if (en)
{
glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, str, pointer+pn);
}
else
{
glDisableClientState(GL_NORMAL_ARRAY);
}

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(sv,GL_FLOAT, str, pointer+pv);





举报

相关推荐

0 条评论