查看: 2801|回复: 8

osg阴影

[复制链接]

该用户从未签到

发表于 2009-1-21 14:46:27 | 显示全部楼层 |阅读模式
osg阴影问题,俺以前问过,这个问题再拿出来继续研究
问题来由:需要模拟太阳,并模拟建筑在阳光下的阴影
显卡:集成 intel 82945G (其他计算机集成显卡也一样),独显显示正确(但是我不能因为这个功能要求用户全换独显)
采用shadowmap : 显示完全不正确,乱糟糟,黑乎乎一篇,并且没有规律可循
采用shadowtextrue: 阴影正确,但是阴影不能在相关的建筑上显示,例如,南边的建筑阴影不能显示到其北部建筑的南立面上

现在仿真到了这一步,如果不正确显示阴影,后面的根本没法模拟,夜晚的情景更糟糕,俺的所有工作都是0,期望大家发表看法帮俺解决这个问题
说明:同样代码,不用再编译,直接换上独立显卡,用shadowmap显示完全正确,符合俺的要求
有啥变通的办法能解决也行,但是不能要求换显卡

该用户从未签到

发表于 2009-1-21 15:45:44 | 显示全部楼层
恐怕有些麻烦,不知道更新您的显卡驱动程序之后能否解决这一问题?

因为osgShadow库大量使用了着色语言和FBO等OpenGL 1.5以后才出现的技术,因此不支持这些特性的显示卡几乎必然要出问题。不过现在的集成显卡对OpenGL的支持应该问题也不大,首先更新到最新的显卡驱动程序试一下吧;不行的话,恐怕要建议您自己研究阴影现实的方案了……

该用户从未签到

 楼主| 发表于 2009-1-22 08:46:46 | 显示全部楼层
哎,我已经看了shadowmap的源代码,没看明白,但是其原理和OPENL宝典上的应该是一致的
今年。。。。。。。。。我最郁闷!!!!!!!!!!!!!!!!!!!!!!!!!

该用户从未签到

 楼主| 发表于 2009-1-22 08:59:47 | 显示全部楼层
我已经上intel官网更新了82945g显卡驱动,还是不行

[ 本帖最后由 xxxx7000 于 2009-1-22 09:57 编辑 ]
opengl1.JPG

该用户从未签到

 楼主| 发表于 2009-1-22 11:48:57 | 显示全部楼层
可能的原因如下:在shadowmap中 // tell the camera to use OpenGL frame buffer object where supported.
        _camera->setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT);
但是俺测试显卡反馈信息如下

No OpenGL Shading Language support
This may break compatibility for applications using per pixel shading.

No Frame buffer object support
This may break compatibility for applications using render to texture functions.

Extension verification:
GL_ARB_imaging was not found, but has the entry point glBlendEquation

该用户从未签到

发表于 2009-1-22 13:55:59 | 显示全部楼层
您的显卡反馈信息已经说明很多事情了:只能支持到OpenGL 1.4,不支持着色语言,不支持FBO,也就是FRAME_BUFFER_OBJECT,以及不支持多种ARB扩展。这样的话,osgShadow恐怕很难正常在您的硬件平台上运行

该用户从未签到

 楼主| 发表于 2009-1-22 14:31:52 | 显示全部楼层
有没有变通的办法解决,这种还很多阿,至少办公室很多这种集成显卡,用户那儿也不少阿

该用户从未签到

发表于 2009-1-22 15:14:53 | 显示全部楼层
这样的话,我想osgShadow库暂时是不适用的。也许应该考虑自己编写相应的代码,或者尽快找到合适的阴影显示代码。还有您可以看一看ShadowTexture有没有可以进一步改进的可能,阴影没有投射到指定的建筑上有可能是阴影接收者的设置不对?

该用户从未签到

 楼主| 发表于 2009-1-22 15:18:30 | 显示全部楼层
阴影接收设置不设置好像没影响啊,默认节点MASK为oxffffff
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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