查看: 1286|回复: 4

这到底是为什么呢,shadow问题

[复制链接]

该用户从未签到

发表于 2011-8-29 10:27:20 | 显示全部楼层 |阅读模式
1)
利用osg生成阴影,两个模型相交的地方会有一条白线(如图),这到底是为什么呢
生成阴影的代码如下


  1. const int iReceiveNodeMask = 0x1;
  2. const int iCastNodeMask = 0x2;
  3. osg::ref_ptr<osgShadow::MinimalShadowMap> sm = new osgShadow::LightSpacePerspectiveShadowMapDB;

  4. pScene->setShadowTechnique(sm);
  5. float minLightMargin = 0;
  6. float maxFarPlane = 0;
  7. unsigned int texSize = 4096;
  8. unsigned int baseTexUnit = 0;
  9. unsigned int shadowTexUnit = 3;


  10. sm->setMinLightMargin( minLightMargin );
  11. sm->setMaxFarPlane( maxFarPlane );
  12. sm->setTextureSize( osg::Vec2s( texSize, texSize ) );
  13. sm->setShadowTextureCoordIndex( shadowTexUnit );
  14. sm->setShadowTextureUnit( shadowTexUnit );
  15. sm->setBaseTextureCoordIndex( baseTexUnit );
  16. sm->setBaseTextureUnit( baseTexUnit );
复制代码


2)如果在程序中添加shadow则在退出是程序会崩溃,不知何故
shadow问题.png

该用户从未签到

发表于 2011-8-29 12:02:36 | 显示全部楼层
z-fighting?
你可以将建筑物往地下平移点~~

该用户从未签到

 楼主| 发表于 2011-8-29 12:50:09 | 显示全部楼层
z-fighting?
你可以将建筑物往地下平移点~~
tianxiao888 发表于 2011-8-29 12:02



    已经下移了,上图中的窗已经在地面下

该用户从未签到

发表于 2011-8-30 08:44:54 | 显示全部楼层
您可以尝试一下其他的阴影技法,不同的阴影技法有不同的适用范围

该用户从未签到

 楼主| 发表于 2011-8-30 14:25:16 | 显示全部楼层
其他的也都试了,这个算是效果最好的了,使用其他算法时,同样会有崩溃的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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