游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2584|回复: 5

要崩溃了....

[复制链接]

9

主题

86

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-8-19 12:26:00 | 显示全部楼层 |阅读模式
有个问题要请教大家
模型坐标系 是Z指向屏幕内,视点坐标系 是Z指向屏幕外的 初始的时候,他们的原点是重合的
在做投影的时候
void myReshape(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w <= h)
gluPerspective(45, (GLfloat) h/(GLfloat) w, 1.0f, 400.0f);
else
gluPerspective(45, (GLfloat) w/(GLfloat) h, 1.0f,400.0f);
}
//-------- 设置了投影,我知道投影是向视点坐标系的-Z方向的 也就是说我能
看到模型坐标系中的 1,400这个空间的东西,而在外面的东西都看不到
void myDisplay(void)
{
glBegin( GL_TRIANGLE );
  ..... 画了一个在z=20 平行与x-y平面的3角行
glEnd();
glFlush();
glutSwapBuffers();
}
//------------
为什么我看不到呢?
每一次都是执行myDisplay(),重新绘制,只有初始化和窗体大小发生变化的时候才调用了myReshape()
我实验了一下,好象视野(就是我只能看到距离在单位1内的东西,其它的都看不见)
请教了...

2

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2007-8-19 15:11:00 | 显示全部楼层

Re:要崩溃了....

Z=-20就看到了
你能看到模型坐标系中的 -1,-400这个空间的东西,而在外面的东西都看不到

9

主题

86

帖子

86

积分

注册会员

Rank: 2

积分
86
 楼主| 发表于 2007-8-19 16:46:00 | 显示全部楼层

Re:要崩溃了....

你可能误会了
我是指能看到模型坐标(就是z向里的)的1~400
但是我实际得到的只是(0~1)的视野//------我之前没作过任何变换
投影不是指 以视点为原点 以视点坐标系的-Z为方向 看到的东西吗?就是一个视截体吗?

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-8-19 18:41:00 | 显示全部楼层

Re:要崩溃了....

你相机在原点,面向-z,3角形在你背后,你怎么看得见?

你的视野是由gluPerspective这里确定的,而0-1是投影后的z深度值,是缩放过的。已经不是模型原来的z值了。


“我实验了一下,好象视野(就是我只能看到距离在单位1内的东西,其它的都看不见)”
如何试验的?

2

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2007-8-19 20:34:00 | 显示全部楼层

Re: Re:要崩溃了....

Enigmaya: Re:要崩溃了....

你相机在原点,面向-z,3角形在你背后,你怎么看得见?

你的视野是由gluPerspective这里确定的,而0-1是...

齐次裁剪空间Z是0-1吗?
我一直以为是-1到1

9

主题

86

帖子

86

积分

注册会员

Rank: 2

积分
86
 楼主| 发表于 2007-8-19 20:39:00 | 显示全部楼层

Re: 要崩溃了....

就是画一个立方体咯
不过我已经搞好了。。呵呵
就是它咯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 10:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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