gpt4 book ai didi

opengl - 如何为 glDrawElements() 指定每个图元的颜色

转载 作者:行者123 更新时间:2023-12-02 04:08:30 26 4
gpt4 key购买 nike

我想渲染一个索引几何体。所以,我有一堆顶点和关联的排序索引。我正在使用 glDrawElements() 渲染 2 个四边形,如下所示。现在,我知道我可以使用 glColorPointer() 来指定每个顶点的颜色。我的问题是:我可以指定每个基元的颜色吗?如果是,那么我应该如何处理这个索引几何图形?

static GLint vertices[] ={0,0,0,
1,0,0,
1,1,0,
0,1,0,
0,0,1,
0,1,1};
static GLubyte indices[]={0,1,2,3,
0,3,5,4}
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_VERTEXARRAY);
//glColorPointer(3, GL_FLOAT,0,colors);
glVertexPointer(3,GL_INT,0,vertices);
glDrawElements( GL_QUADS, sizeof( indices ) / sizeof( GLubyte ), GL_UNSIGNED_BYTE, indices );

最佳答案

您可以使用 glDrawElements() 和每个顶点颜色,如下所示:

GLint vertices[] =
{
0,0,0,
1,0,0,
1,1,0,
0,1,0,
-1,1,0,
-1,0,0,
};

GLubyte colors[] =
{
255, 0, 0,
0, 255, 0,
0, 0, 255,
255, 255, 0,
255, 0, 255,
0, 255, 255,
};

GLubyte indices[]=
{
0,1,2,3,
0,3,4,5,
};

glEnableClientState( GL_COLOR_ARRAY );
glEnableClientState( GL_VERTEX_ARRAY );
glColorPointer( 3, GL_UNSIGNED_BYTE, 0, colors );
glVertexPointer( 3, GL_INT, 0, vertices );
glDrawElements( GL_QUADS, sizeof( indices ) / sizeof( GLubyte ), GL_UNSIGNED_BYTE, indices );

关于opengl - 如何为 glDrawElements() 指定每个图元的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com