游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1963|回复: 3

[求助]如何设置正射投影

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-9-8 12:26:00 | 显示全部楼层 |阅读模式
    程序中采用gluOrtho2D(0.0f, 0.0f, width, height);设置正射投影,其中width,height为窗口的宽度和高度。
    然后绘制一个正方形:
    glBegin(GL_QUADS);
        glVertex2i(0, 0);
        glVertex2i(100, 0);
        glVertex2i(100, 100);
        glVertex2i(0, 100);
    glEnd();

    在窗口模式下(width = 640, height = 480),显示正常,正方形显示在窗口的左下角;
    但在全屏模式下,正方形的底边与屏幕底边还有一道间隔,其宽度与Windows桌面任务栏的宽度相当。
   
    请问该如何解决?恳请指点!

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-8 14:46:00 | 显示全部楼层

Re:[求助]如何设置正射投影

捕获窗口的ReSize  窗口变化时,重新设置,所有的gl基础书或资料都会有这个的。你搜搜。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2007-9-9 10:47:00 | 显示全部楼层

Re:[求助]如何设置正射投影

谢谢回复!

程序中窗口重设的函数如下
GLvoid ReSizeScene(GLsizei width, GLsizei height)
{
    if (height==0)
    {
        height=1;
    }
    glViewport(0, 0, width, height);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    gluOrtho2D(0.0f, 0.0f, width, height);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

然后在窗口过程中捕获WM_SIZE消息,并调用上述函数,
然而全屏模式下问题依旧。。。

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-9 14:22:00 | 显示全部楼层

Re:[求助]如何设置正射投影

o,我理解错了, 你去找nehe的代码看看,这个和创建时windows的窗口style有关。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 00:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表