关于在windows下OpenGL glViewport, glOrtho,glScissor的详解(几日心得体会)

这两天在不停的弄OpenGL编程,好久没用了,遗忘了不少,现在找回来,总结了一下心得:

首先关于视点的问题,这些可能一些初学的同学可能会很困惑这个问题:

首先在Windows下坐标原点在左上角,而OpenGL的坐标原点则在左下角。

对于我想渲染一个2D的图片来说视点设置应该如下:


    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    glOrtho(0, (IPHONE_SCREEN_WIDTH), 0, SCREEN_HEIGHT, -I2F(100), I2F(1000));//这里glOrtho(左,右,下,上,近,远)
    //这个是基于openGL坐标的
    
    glMatrixMode(GL_MODELVIEW);		
    glLoadIdentity();

    glViewport(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);//glViewport(x,y,width,height)
    glScissor (0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);//glScissor(x,y,width,height)

之后在绘制实体的时候,比如画一个正方形在屏幕上,如果你想画在左上角,则需要做一部这个转换。

    void drawRect(x,y,width,height)
    {
        y = SCREEN_HEIGHT - y - h;
        
        //通过GL的方式画矩形
    }






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值