在图形软件中,渲染动态的阴影可以提高虚拟世界的真实感。但是动态渲染阴影非常消耗计算资源。
游戏中的动态阴影是如何处理的呢?
是否应该预先生成物体的阴影轮廓,把轮廓边线信息直接保存在游戏文件中,在游戏中,光源(比如:太阳)的位置不变,直接利用预先存储的阴影轮廓边线动态生成阴影体进行渲染。这样就可以避免实时的计算阴影轮廓边线,从而提高游戏的FPS值。

解决方案 »

  1.   

    http://book.csdn.net/bookfiles/449/10044915842.shtml
    可以使用模板阴影和纹理阴影
      

  2.   

    你所说的是lightmap的做法.但是一个场景如果只是静态的,那多么单调哦.
    如果场景不是静态的,你这样做的结果可想而知
    至于场景是静态的话,这样的确能提高FPS,但是你怎么生成这个lightmap呢?常规的对每个面应用判断(分别对应一部分lightmap)只会过分扼杀预处理时间,所以你也许得自己想个好算法,用在此特殊情景(投影物体巨多,且物体相对位置不变化)中.
    游戏中的动态阴影是如何处理的呢?
    回答:shadow volume & shadow map.....你可以在google上搜索下(或者连同我的用户名一起搜,笑~)
      

  3.   

    那还不如使用LightMap效果还好
      

  4.   

    佩服
    代码没看,俺不会OpenGL...看了解题思路后明白很多了。