查看: 1362|回复: 13

阴影问题求教

[复制链接]

该用户从未签到

发表于 2010-10-25 09:13:16 | 显示全部楼层 |阅读模式
现在有个地球模型,在其周围有一飞行的卫星,想实现,当卫星被地球挡住太阳光的时候,卫星模型有个渐变的过程,不知道这个该怎么实现呢,我试了下阴影,发现地球并没有在卫星上呈现阴影,但是小模型测试程序就没问题了,不知道还有什么方法实现没有?

该用户从未签到

发表于 2010-10-25 10:52:57 | 显示全部楼层
您最好不要把真正用海量数据组织起来的地球模型作为阴影的投射者,那样等于您要把这个模型多次绘制到卫星的各个面纹理上……也许您可以使用一个普通的球作为阴影投射者,然后用ShadowMap将其动态表达在卫星上

该用户从未签到

 楼主| 发表于 2010-10-25 17:12:08 | 显示全部楼层
恩,我是自己画的球体。。但是发现无效。。也不知道是我代码的问题。。但是小地形飞机投影是没有问题的。。

该用户从未签到

发表于 2010-10-26 08:48:34 | 显示全部楼层
我是自己画的球体。。但是发现无效
既然这样,给出您的解决方案,这样大家才好判断是哪里出现了问题

该用户从未签到

 楼主| 发表于 2010-10-26 13:36:13 | 显示全部楼层
shadowtest.rar (5.03 KB, 下载次数: 182)

该用户从未签到

发表于 2010-10-28 08:38:20 | 显示全部楼层
如果您希望您的四边形把阴影投射到飞机上,那么设置四边形的mask为投射者,飞机为接收者,这没有问题。
但是飞机本身必须已经设置了纹理坐标,这样才能将shadowmap纹理渲染到其上;否则就如您看到的,飞机被贴上了纹理,但是因为纹理坐标不存在,因此整个显出黑色来

该用户从未签到

 楼主| 发表于 2010-10-29 09:12:07 | 显示全部楼层
OK,那么我想表达正确的阴影,就必须定义纹理坐标,那如果是自动生成纹理坐标呢。。手动计算纹理坐标吗?

该用户从未签到

发表于 2010-10-29 17:02:30 | 显示全部楼层
不能自动生成纹理坐标,因为用到了着色器,自动生成的过程必须自己在shader里完成

该用户从未签到

 楼主| 发表于 2010-11-1 14:05:56 | 显示全部楼层
OK,我试试,谢谢阿RAY。

该用户从未签到

 楼主| 发表于 2010-11-8 17:12:48 | 显示全部楼层
貌似不行。。。我现在把飞机模型。。换成一个四边形。。有颜色的。。。有纹理坐标。。依然是黑色的。。

该用户从未签到

发表于 2010-11-9 08:28:36 | 显示全部楼层
我已经实现了……所以才这么说

该用户从未签到

 楼主| 发表于 2010-11-9 09:13:39 | 显示全部楼层
但是。。。我加入了四边形。。定义了纹理坐标。。依旧不行。。我想如果您成功了,我没成功的话,可能我对阴影实现过程并不熟悉,导致我在某个环节出现问题,那我就去看下阴影实现好了。。

该用户从未签到

 楼主| 发表于 2010-11-9 10:14:25 | 显示全部楼层
谢谢您的指导

该用户从未签到

 楼主| 发表于 2010-11-9 10:14:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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