OSG 级联阴影实现与改造

最近公司业务需要,在做BIM相关显示与渲染开发,OSG 显示引擎库包里本来包括一些阴影方案,由于都是基于OPENGL固定管线实现的,而且内容比较老,OSG 一些功能可用,但真正的用在项目中,BUG 比较多,大多数需要修改、细化,总感觉它只是提供了Demo级别的演示功能,并没有给你现成的东西去用。

因为涉及到建筑的显示,场景规模较大而且需要尽可能的减少阴影锯齿,提高深度纹理精度,这里我主要对OSG 级联阴影的改造,修正了一些 BUG, 通过包围体夹逼近远裁剪平面来提高纹理精度,级联阴影本身对可视空间进行了分割,从另一方面说,提高了纹理精度,减少了资源占用(主要针对提高纹理图分辨率来说)。

几张现有的效果图:

各个相机分割区域 ,近远裁剪面随观察对象的空间范围自动调整,虽然场景较大,但局部区域阴影质量依然很高。红,绿, 蓝视锥体为分割的投射阴影区域,黑色的为观察视锥体。

 

OSG 级联阴影实现与改造_第1张图片

最终效果图 SSAO+PSSM

室内效果:

 

 

 

你可能感兴趣的:(OpenSceneGraph,OpenGL,渲染)