D应用进阶-OpenGL透视与光效教学课件.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
默认值 如果不设置光源颜色,默认情况下将是黑色(0.0, 0.0, 0.0, 1.0); 如果不设置光源位置,默认情况下将是原点。 光源颜色中的透明度对反射颜色和背景颜色没有影响,但是会影响散射颜色。 OpenGL---光效 创建点光源(聚光灯) 建一个定向点光源 (一种指向特定方向并照亮特定角度范围的光源,需要设定两个额外参数。 如果你想设置一个有方向的点光源(形成一个锥形的光照范围),你还要设置两个参数: 光源方向GL_SPOT_DIRECTION 光源角度GL_SPOT_CUTOFF。 OpenGL---光效 指定光的方向 GL_SPOT_DIRECTION参数使用一个标准向量定义方向。标准向量是由x、y、z三个坐标定义的一个3D空间点,从原点到此点连线,线段长度应该为1,此线的方向,即标准向量的方向。 定义一个沿z轴而下的光源 : OpenGL---光效 const GLfloat light0Direction = {0.0, 0.0, -1.0}; glLightfv(GL10.GL_LIGHT0, GL10.GL_SPOT_DIRECTION, light0Direction); 指定光的角度 在定义角度时需要注意的是,与视角定义不同,此处的角度参数应该是实际光源角度的一半。所以此参数定义的角度最大是180°。 限制角度为 90°(使用 45° 截止角) OpenGL---光效 glLightf( GL10.GL_LIGHT0, GL10. GL_SPOT_CUTOFF , 45.0); 光照效果 Questions? * * 正交视图无法看到一个物体是远离自己还是正在我们面前。为什么?因为它不会根据距离收缩。所以如果你如果你画一个固定大小的物体在视点前面,同时画一个同样大小的物体在第一个物体的远后方,你无法说那个物体是第一个。因为两个都是一样的大小,根距离无关。他们不会随着距离而收缩。 * 透视视图和我们从眼睛看到的视图是一样的。 例如,一个高个子的人站在你面前,你看上去是很高的。如果这个人站在100米以外,他甚至还没有你的拇指大。他看上去会随着距离而缩小,但是我们实际上都知道,它依然是个高个子。这种效果叫做透视。上面例子中提到的两个物体,第二个物体将会显示地更小,所以我们可以区分哪个是离我们近的物体,那个是离我们远的物体。 * * * 如果用摄影术语描述,你可将视野当作虚拟相机的虚拟光圈的焦距。窄视野很像摄远镜头,它造就了一个缓慢增长的长锥台。宽视角就像广角镜,它造就了一个增长很快的锥台。 * * 除非你限制光照的角度,否则指定光的方向并不会产生显著的效果。 * SE-806:MOBILE PHONE APPLICATION DEVELOPMENT SCHOOL OF SOFTWARE, SUN YAT-SEN UNIVERSITY #14 OpenGL --- 透视与光效 OpenGL ES中具有的两种不同的视口类型。 正交(orthogonal ) 透视(perspective ) OpenGL---透视 正交 视线永远不会交汇而且 物体不会改变其大小。 没有透视效果。 OpenGL---透视 透视 物体会随着移远而越来越小,视线会在物体移离观察者时最终交汇。 这是对真实视觉的模拟,人们就是以这种方式观察世界的。 OpenGL---透视 right near top OpenGL---透视 设置正交视口 通过glOrthof()通知OpenGL ES你希望使用正交视口 OpenGL---透视 float ratio = _width / _height; //屏幕宽长比 // orthographic: gl.glOrthof(-1, //left 1, //right -1 / ratio, //bottom 1 / ratio, //top 0.01f, //near 100.0f); //far 设定视口空间的宽度为两个单位,沿x轴从 -1.0 到 +1.0。 定义空间的X和Y坐标的宽高比与视窗的宽高比(也就是全屏时 的宽高比)一样 ,确保视口的X和Y坐标遵循一样的比例。 OpenGL---透视 right top width height 当视野中的三角形长宽比等于 屏幕的长宽比,视觉效果才会更好。 “定义空间的X和Y坐标的宽

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档