我的目标是从一组顶点绘制一条折线。为此,我在下面做了一些编码。但问题是我正确绘制了多段线,但我无法在其中添加颜色。我使用一个数组为每个顶点设置颜色,然后使用 glDrawArrays() 绘制它。但不幸的是,我没有得到我需要的颜色(红色)。
任何人都可以请查看我的代码我在这里做错了什么吗?我正在使用 OpenGL ES 1.1。以下是我的示例代码-
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
enable_2d();
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glEnable(GL_LINE_SMOOTH);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
float line_vertex[]=
{
250.0f,250.0f, //vertex 1
500.0f,500.0f, //vertex 2
500.0f,200.0f //vertex 3
};
float line_color[]=
{
1.0f,0.0f,0.0f,
1.0f,0.0f,0.0f,
1.0f,0.0f,0.0f
};
// glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glLineWidth(10.0f);
glVertexPointer(2, GL_FLOAT, 0, line_vertex);
glColorPointer(3, GL_FLOAT, 0, line_color);
glDrawArrays(GL_LINE_STRIP, 0, 3);
glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisable(GL_TEXTURE_2D);
//Use utility code to update the screen
bbutil_swap();