查看: 1599|回复: 4

设备阴影遮挡问题?

[复制链接]

该用户从未签到

发表于 2011-7-14 13:40:32 | 显示全部楼层 |阅读模式
最近给项目里设备做个基本阴影开发. 参照得是网络上搜到一篇文章:
http://www.gpwiki.org/index.php/Generating_Mesh_Shadows_On_Terrain_Using_OpenGL

阴影已经计算出来了,做为地形得一张光照图保存,没有问题.

后来应用时候发现了一个问题,如下:

就是在我得室外场景里,设备其实不是真正得直接摆放在地面上得,而是摆放在一个"区域"
上得,所谓得区域就可以理解在地形上面单独绘制得1或者多个QUADS.

关于这个区域得:1.区域得切分精度和地形是不一样得,区域得每个块相对于
地形得tile要小得多; 2. 这个"区域"是可以用用户直接用工具画得
(类似画图里用画方形,或者椭圆工具画出得一个图形),直接放在地形上面.
3. 有大量设备是直接放在区域上得

这样带来得问题就是算出来得设备阴影光照图因为是作为地形多纹理得1个
被融合在地形上,完全就被"区域"遮挡了.


请问有什么思路可以解决这个问题?还是说这种方法就不适用于这种情况?

下面是我自己得一点思路:

1.单独在"区域"上在绘制1个覆盖全地形得大面片,吧光照图作为纹理融合
渲染. 后来想,如果地面都是平得那应该还行, 但地面一般都是有起伏得,
仅仅为了绘制一个影子效果, 又得在造1个完全相同得地形mesh数据,
觉得太不划算.

2.用shadow map, 我看网上例子包括osg, 阴影贴图应该都是动态计算
得(动态指得是渲染时候创建), 而我想把阴影计算完全作为1个预处理得
过程.仅仅1张静态光照图而已,类似freeworld3D那样.(freeworld3D好像
也存在遮挡这个问题, 如果在设备附近创建路, 就完全覆盖了设备阴影)

各位有什么个思路可以启发一下,谢谢.

该用户从未签到

发表于 2011-7-14 16:36:12 | 显示全部楼层
呃,用几何体做阴影,我真的十分怀疑这种方法的可行性——很快您就会被淹没在无尽的重复面问题中~~目前最通用的阴影表达方式还是各种类型的shadow map

该用户从未签到

 楼主| 发表于 2011-7-14 17:45:23 | 显示全部楼层
本帖最后由 akingbr 于 2011-7-14 17:46 编辑

谢谢解答, 那shadow map,是不是只能渲染时候挂rtt摄像机创建, 应该没那种预处理概念了把?
(我看得shadow map,基本都是先算深度图,然后在绘制时候比对)
谢谢.

该用户从未签到

发表于 2011-7-15 08:05:48 | 显示全部楼层
基本是这个意思

该用户从未签到

 楼主| 发表于 2011-7-15 10:39:19 | 显示全部楼层
3k~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表