游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2716|回复: 6

opengl的换算单位怎么弄成跟VC的一样的

[复制链接]

1

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-11-10 17:36:00 | 显示全部楼层 |阅读模式
就是在VC下建一个工程的话
用OPENGL初始化后画图的话,怎么弄成跟VC的单位相同的
比如,VC下的一个500*500的窗口,我把它弄成原点在屏幕中心
大小是从-250到250的
[em7] [em7] [em7] [em7]

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-11-10 19:14:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

你正交矩阵,设得跟屏幕一样就这样了

1

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2005-11-10 21:46:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

是哪个函数?
glOrtho吗?
我刚学OPENGL没多久....

7

主题

438

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2005-11-11 09:18:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

OpenGL屏幕原点好象只能在视口的左下角,用glViewport来设定.

6

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2005-11-11 11:19:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

嗯?不太理解你的意思啊,到底是要OpenGL到VC还是VC到OpenGL啊(比如,VC下的一个500*500的窗口,我把它弄成原点在屏幕中心大小是从-250到250的)?我怎么觉得OpenGL得原点就是在屏幕中心呢?
可以这样设置试试:
glOrtho( -250, 250, -250,250, 1, 500);

1

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2005-11-11 14:46:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

VC到OPENGL,我就是想通过鼠标的位置来,在窗口中进行相应的OPENGL画图
在MFC中我在两个位置对大小进行操作
WM_SIZE中
float right = (float)cx / 2.0;
float left = -right;
float top = (float)cy / 2.0;
float bottom = -top;
glVeiwport(0, 0, cx, cy);
glOrtho(left, right, bottom, top, -10.0f, 10.0f);
在初始化窗口中
glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
接着就是在窗口中画图行了
可是窗口对应的OPENGL坐标还是只有 -1到1
并不是我想要的left到right
跟bottom 到top

6

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2005-11-30 15:33:00 | 显示全部楼层

Re:opengl的换算单位怎么弄成跟VC的一样的

glViewport( 0, 0, cx, cy );
float right = (float)cx / 2.0;
float left = -right;
float top = (float)cy / 2.0;
float bottom = -top;

        glMatrixMode( GL_PROJECTION );
        glLoadIdentity( );
        glOrtho(left, right, bottom, top, -10.0f, 10.0f);

        glMatrixMode( GL_MODELVIEW );       
        glLoadIdentity( );

这样再试试!       
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 19:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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