Основы OpenGL: рисование многоцветного квадрата - PullRequest
1 голос
/ 27 марта 2012

Я хочу нарисовать квадрат, в котором каждая вершина должна иметь свой цвет.Это должно привести к хорошему градиенту внутри квадрата.Вот код, который я использую:

glBegin(GL_QUADS);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f);
glColor3f(0.0f, 0.0f, 0.0f);
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight-redLineWidth))/2.f);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex2f(((float)(winWidth+redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(((float)(winWidth-redLineWidth))/2.f,((float)(winHeight+redLineWidth))/2.f);
glEnd();

Пожалуйста, игнорируйте используемые переменные.Я нарисовал прямоугольник, но он имеет сплошной цвет.Где здесь ошибка?

Я использую GLUT на Mac OS X.

1 Ответ

3 голосов
/ 27 марта 2012

Кажется маловероятным, что вы изменили это, но вы можете попытаться добавить вызов glShadeModel(GL_SMOOTH) перед кодом рисования. Поведение по умолчанию должно работать так, как вы ожидали, поэтому проблема, вероятно, в другом месте.

...