2013-07-09 10 views
8

Voglio disegnare una serie di linee collegate (GL_LINE_STRIP) nel modo seguente.Come disegnare linee di strisce collegate in OpenGL come questa

openGL Strip Lines

avevo cercato di codice da parte mia, ma non ottenere il risultato desiderato, quindi vengo qui, aiutami a scoprire dove mi sbagliavo. qui sto dando solo la mia funzione 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(); 
+0

Cosa vede ora? Prova 'glOrtho (-4.0, + 4.0, -4.0, + 4.0, -1.0, + 1.0)' prima del disegno. –

risposta

5

Workin' perfettamente qui:

lines

#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; 
} 
+0

grazie, penso che mi mancasse glOrtho (-6, 6, -6, 6, -1, 1); – user437641

Problemi correlati