OpenGL(四)——有用的函数

概述

1. reshape

    定义窗口和图像的映射关系,使在不以纵横比4:3调整窗口大小时,图像不会失真

 

函数

1. ReShape

如果变更后的窗体的横纵比大于4/3,需要以高为基数,宽为高*4/3,并截取中间部分;

横纵比小于4/3类推

void reshape(GLsizei width, GLsizei height)
{
    float w_aspect = 4.0 / 3.0;
    float aspect = ((float)width) / height;
    if (aspect <= w_aspect)
    {
        glViewport(0, (height - width / w_aspect) / 2,
                   width, width / w_aspect);
    }

    else
        glViewport((width - height * w_aspect) / 2, 0,
                   height * w_aspect, height);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(-4.0, 4.0, -3.0, 3.0);
}

 

 

posted on 2013-09-04 17:37  金融挨踢狗  阅读(196)  评论(0)    收藏  举报