当前位置:嗨网首页>书籍在线阅读

16-习题

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

习题

8.1 在程序8.1中,尝试在不同设置下使用glPolygonOffset(),并观察对像的伪影效果,如Peter Panning。

8.2 (项目)修改程序8.1,以便通过移动鼠标移动灯光,类似于练习7.1。你可能会注意到某些照明位置会出现阴影伪影,而其他位置则没有。

8.3 (项目)给程序8.1添加动画,使得对象或光源(或两者一起)自行移动——例如一个绕另一个旋转。如果向场景添加地平面,阴影效果将更加明显,如图8.14所示。

8.4 (项目)修改程序8.2,将lookup()函数中的硬编码值0.001替换为更准确的1.0 / shadowbufferwidth和1.0 / shadowbufferheight。观察在窗口大小变化的情况下,这种变化产生了何种程度的影响(或没有影响)。

8.5 (研究)更复杂的百分比邻近滤波(PCF)的实现会加入光和阴影与光和遮挡物之间的相对距离。通过光线靠近或远离遮挡物时(或当遮挡物靠近或远离阴影时),调整半影的大小,可以使柔和阴影更逼真。研究此功能现有的实现方法,并将其添加到程序8.2中。