估计不大好解释的一个OGL问题.
默认的视线方向确定吗?下面打个比方:
<---Z轴-----MM---------0------------NN;
这是Z轴,我在Z的正方向和负方向适当的位置各摆一个物体,人眼在原点0处,运行程序,竟然得到了一幅奇怪的图,那就是MM和NN都能被看到,并且,负方向的NN叠在正方向的MM之上,呵呵.这个怕不好解释了.
另外我这里还有几个关于视点位置的问题,比较简单一点.
http://community.csdn.net/Expert/topic/4592/4592330.xml?temp=.6025049
问题点数:20、回复次数:10Top
1 楼syy64(太平洋)回复于 2006-03-04 13:17:45 得分 0
你把你设投影矩阵、模型矩阵,和绘图的源码,贴出来看看,才能解释。Top
2 楼scutcs(做人一定要厚道)回复于 2006-03-04 13:45:54 得分 0
-----之前我没有进行任何的变换---------
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();//重置当前矩阵
glTranslatef(0,0.5,1.0);移动到Z=1处
glBegin(GL_QUADS);
...画立方体
glEnd();
glLoadIdentity();//再次重置当前矩阵
glTranslatef(0,0,-1.0);//移动到XZ=-1处
glBegin(GL_QUADS);
........画立方体.......
glEnd();
然后就是我看到的结果了,没见过的话,可以自己试一试呀,很有意思的.Top
3 楼syy64(太平洋)回复于 2006-03-04 13:52:13 得分 10
glTranslatef(0,0.5,1.0);
这一句就起了平移作用,所以能看到。Top
4 楼scutcs(做人一定要厚道)回复于 2006-03-04 14:10:30 得分 0
晕,那你说我现在的视点在什么位置?Top
5 楼syy64(太平洋)回复于 2006-03-04 14:15:58 得分 0
可以这么说吧,视点在0.0,0.0,0.0,模型中心在0.0,0.0,-1.0
也可以说视点在0.0,0.0,-1.0,模型中心在0.0,0.0,0.0Top
6 楼scutcs(做人一定要厚道)回复于 2006-03-04 18:03:29 得分 0
但这时我画了两个立方体,相对于世界坐标系,它们分别在Z=1和Z=-1的位置,这时视点位置在Z=0,
又怎么能把两个立方体都纳入视线的?Top
7 楼syy64(太平洋)回复于 2006-03-06 11:31:10 得分 0
你看到的是什么样的效果?
Top
8 楼scutcs(做人一定要厚道)回复于 2006-03-06 12:56:52 得分 0
glTranslatef(0,0.5,1.0);这一句我特地将第二个立方体往Y方向移0.5,
看到的效果是-Z方向的在前, +Z方向的在后.Top
9 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-06 13:34:57 得分 10
怀疑楼主用的是正交投影模式 Ortho,所以才后有重叠的事情发生Top
10 楼scutcs(做人一定要厚道)回复于 2006-03-06 17:32:06 得分 0
其实我现在搞出的这些问题都是我在瞎测试的时候碰到的,在这个问题中,我除了启动深度测试之外,也没显式地声明用什么投影方式.Top




