《高效学习OpenGL》之混合数组 glInterleavedArrays()
2014-02-17 09:17
501 查看
glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
//format:图片
//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);
//format:图片
//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);
相关文章推荐
- openGL中使用混合数组(glInterLeavedArrays)
- 看opengl写代码(7) 使用混合数组(glInterLeavedArrays)
- 看opengl写代码(7) 使用混合数组(glInterLeavedArrays)
- 《高效学习OpenGL》之法线向量与顶点数组 glNormal3f(), glEnableClientState(), glVertexPointer(), glDrawArrays()
- 《高效学习OpenGL》 之 混合 glBlendFunc(), glBlendFuncSeparate(),glBlendEquation(), glBlendEquationSeparate()
- 《高效学习OpenGL》之法线向量与顶点数组 glNormal3f(), glEnableClientState(), glVertexPointer(), glDrawArrays()
- 遍历多维数组(Traverse Multidimensioned Arrays)
- JS一维数组、多维数组和对象的混合使用
- 精彩的javascript对象和数组混合相加
- [leetcode] Median of Two Sorted Arrays 两个排序数组找出第k个数,或者中位数
- java中数组工具类Arrays
- php-Arrays 函数-array_merge-合并一个或多个数组
- 对比集合工具类Collections进一步学习数组工具类Arrays
- LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard
- Arrays类应用·使用Arrays类操作Java中的数组
- 【leetcode75】Intersection of Two Arrays(数组的交集)
- 集合(Arrays)-数组变集合
- 虚幻引擎中的数组---TArray: Arrays
- [LeetCode] Intersection of Two Arrays II 两个数组相交之二
- 使用 Arrays 类操作 Java 中的数组