2015-11-02 3 views
1

glRectf() не отображается в моем окне:OpenGL glRectf() не отображая

#include <GL/gl.h> 
#include <GL/glut.h> 

void renderScene(){ 
    glClearColor(0.0f,1.0f,1.0f,1.0f); 
    glClear(GL_COLOR_BUFFER_BIT); 
    glColor3f(1.0f,0.0f,0.0f); 
    glRectf(225.0f,150.0f,150.0f,100.0f); 
    glFlush(); 
} 

int main(int argc, char*argv[]){ 
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA); 
    glutInitWindowSize(450, 350); 
    glutCreateWindow("My first OpenGL Program...took forever"); 
    glutDisplayFunc(renderScene); 
    glutMainLoop(); 
    return 0; 
} 

ответ

2

(225.0f, 150.0f) нигде вблизи усеченного идентичности.

Поставка некоторые соответствующие преобразования матрицы, чтобы ваш прямоугольник не подрезанными:

#include <GL/glut.h> 

void renderScene() 
{ 
    glClearColor(0.0f,1.0f,1.0f,1.0f); 
    glClear(GL_COLOR_BUFFER_BIT); 

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

    glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 

    glColor3f(1.0f,0.0f,0.0f); 
    glRectf(225.0f,150.0f,150.0f,100.0f); 

    glFlush(); 
} 

int main(int argc, char*argv[]) 
{ 
    glutInit(&argc, argv); 
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA); 
    glutInitWindowSize(450, 350); 
    glutCreateWindow("My first OpenGL Program...took forever"); 
    glutDisplayFunc(renderScene); 
    glutMainLoop(); 
    return 0; 
} 
+0

Спасибо, постараюсь завтра, когда я вернусь из школы –

+0

Спасибо это отлично работает! –

Смежные вопросы