现在的位置: 首页 > 综合 > 正文

first class(下)

2017年12月20日 ⁄ 综合 ⁄ 共 764字 ⁄ 字号 评论关闭

#include <GL/glut.h>

void render(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLES);
        glVertex3f(100,10,0);
        glVertex3f(200,10,0);
        glVertex3f(0,100,0);
    glEnd();
    glFlush();
}
void reshape(int w, int h)
{
    glViewport(0,0,(GLsizei)w, (GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0.0,(GLdouble)w, 0.0, (GLdouble)h);
}
void main(int argc, char **argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(640,480);
    glutCreateWindow("first gl");
    glutDisplayFunc(render);
    glutReshapeFunc(reshape);
    glutMainLoop();
}

加入glutReshapeFunc();函数以后又如下变化:

1)坐标原点在左下角位置;

2)glVertex3f中的坐标不在是缩放的;

3)glViewPort调整像素矩阵与整个窗口重叠,glOrtho2D设置原点位置,以及单位化矩阵。不再缩放了。

抱歉!评论已关闭.