GL_COLOR_ARRAY не работает glDrawArrays () в OpenGL ES 1.1

Моя цель — нарисовать ломаную линию из набора вершин. Для этого я сделал несколько кодов ниже. Но проблема в том, что я правильно рисую полилинию, но не могу добавить в нее цвета. Я использовал массив, чтобы установить свой цвет для каждой вершины, а затем нарисовал его, используя 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();

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]