Как нарисовать соединенные полосы в OpenGL, как это

Я хочу нарисовать серию связанных линий (GL_LINE_STRIP) следующим образом.

openGL Strip Lines

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

glBegin(GL_LINE_STRIP);

glVertex2f(-4.00, 0.00);
glVertex2f(-3.00, 2.00);
glVertex2f(-2.00, 0.00);
glVertex2f(-1.00, 2.00);
glVertex2f(0.0, 0.00);
glVertex2f(1.00, 2.00);
glVertex2f(2.00, 0.00);
glVertex2f(3.00, 2.00);
glVertex2f(4.00, 0.00);

glEnd();

8

Решение

Работаю отлично здесь:

линии

#include <GL/glut.h>

void display()
{
glClear( GL_COLOR_BUFFER_BIT );

glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( -6, 6, -6, 6, -1, 1);

glMatrixMode( GL_MODELVIEW );
glLoadIdentity();

glColor3ub( 255, 255, 255 );
glBegin(GL_LINE_STRIP);
glVertex2f(-4.00, 0.00);
glVertex2f(-3.00, 2.00);
glVertex2f(-2.00, 0.00);
glVertex2f(-1.00, 2.00);
glVertex2f(0.0, 0.00);
glVertex2f(1.00, 2.00);
glVertex2f(2.00, 0.00);
glVertex2f(3.00, 2.00);
glVertex2f(4.00, 0.00);
glEnd();

glutSwapBuffers();
}

int main( int argc, char **argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE );
glutInitWindowSize( 600, 600 );
glutCreateWindow( "GLUT" );
glutDisplayFunc( display );
glutMainLoop();
return 0;
}
5

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

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

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