GL_LINE_STRIP и GL_POLYGON одновременно OPENGL

1

Я хочу использовать каркасы и заполнять полигоны одновременно, я использую желтые и черные цвета, поэтому я могу отличить один от другого

 gl1.glColor3d(0.0, 0.0, 0.0);
 gl1.glBegin(GL_LINE_STRIP);
 gl1.glColor3d(1.0, 1.0, 0.0);
 gl1.glBegin(GL_POLYGON);

Но я получаю следующую ошибку: Info: GLDrawableHelper.reshape: pre-exisiting ошибка GL 0x502

Ну, я думаю, это потому, что я могу использовать только один glBegin (...) в какой-то функции, есть ли другой способ сделать это? Благодарю.

Теги:
opengl

1 ответ

1
Лучший ответ

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

Ну, я думаю, это потому, что я могу использовать только один glBegin (...) в некоторой функции

Вы не можете glBegin() вызовы glBegin(). В блоке glBegin/glEnd допускается только очень маленькая функция подмножества gl: в основном вы можете просто установить текущие атрибуты для вершин и создать там вершины. Но вы можете иметь столько блоков glBegin/glEnd в функции, сколько хотите.

Мне просто нужно заметить, что glBegin/glEnd устаревает/удаляется в современных версиях OpenGL, вы не должны использовать этот материал в наши дни без веских оснований.

  • 0
    Так что можно использовать только wirefreame и заполнить полигон, если я нарисую его дважды?
  • 0
    Он никогда не может быть использован одновременно. Один раз ты делаешь первый, потом ты делаешь другой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню