OGL视点问题
1,视点的位置(就是眼睛看物体的位置啦),它是不是一直在世界坐标的(0,0,0)位置不动,
直到调用gluLookAt这个函数?
2,还有就是gluPerspective,glFrustum,它们构造的视景体是四棱锥的一部分,即台锥,这个四棱锥的顶点应该是当前绘图坐标系的原点吧?
3,没有进行过任何变换之前,我在坐标原点画了一个棱长为1的立方体,如果视点在原点位置,那么视点应该处于这个立方体的内部呀,但我为什么能看到我画的立方体呢?
问题点数:20、回复次数:7Top
1 楼syy64(太平洋)回复于 2006-03-04 13:21:52 得分 0
1、视点和模型点是一个相对关系;
2、可以这么理解,也可以不这么理解,也可以理解为原点在场景的中心;
2、那是因为你把模型移动了,它们是相对关系。Top
2 楼scutcs(做人一定要厚道)回复于 2006-03-04 13:36:12 得分 0
SYY64的我没看明白;
1,什么是模型点?
3,我没有移动模型?直接画了六个面,拼接成一个立方体而已.Top
3 楼syy64(太平洋)回复于 2006-03-04 13:41:35 得分 0
1、就是场景中心,也叫模型中心,模型点;
2、贴源码。Top
4 楼scutcs(做人一定要厚道)回复于 2006-03-04 14:14:08 得分 0
呵呵,又贴源码呀.:)
-----什么也没做--------
.....画个棱长为1的立方体....
-----什么也没做-------
结果我能够看到我的立方体.Top
5 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-06 13:54:26 得分 0
3. cull模式的问题, 双面可见,所以即便你在模型的内部依然可见Top
6 楼scutcs(做人一定要厚道)回复于 2006-03-07 15:43:24 得分 0
我没有启动glEnable(GL_CULL_FACE),算了,不管它了.Top
7 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-07 16:10:00 得分 20
正因为没有启动,才是缺省的双面可见呢
光照面
缺省情况下,光照计算针对所有的多边形,无论是面朝前的多边形还是面朝后的多边形都受光照的影响。如果只为面朝前的多边形设置光照,则面朝后的多边形不能被正确地照亮。例如,对于一个球体,只有向前的面可见,这是因为它们是球体外面的面,而朝后的面看起来是什么样子是无关紧要的,因此不必为它进行光照计算。然而,如果将球体切开,则它的内表面也是可见的,这时就必须使内表面也能被正确地光照。下面的语句设置了双面光照。
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE);
这时,OpenGL为面朝后的多边形求表面法线的逆。这就意味着多边形的两个面的表面法线均朝向观察者。作为结果,多边形的两个面均被正确地照亮。
要关闭双面光照,需在前面的调用中加入GL_FALSE参数。
Top




