卫生计算微服务

留言板

在线咨询

010-68466770 13911588183

xmvini@163.com

登录 / 注册

最近OSG版块比较繁荣,vp版感觉冷清2010年3月1日

发布时间:2013-02-10   点击量:2026

最近OSG版块比较繁荣,vp版感觉冷清了,现发几个小例子供大家欣赏。

大家都知道vp的影子是假的只能投影到平面上,这点用起来不爽,所以萌发了改进vp的影子的想法,绘制影子的方法很多,常用见的有Shadow Mapping和Shadow Volumes,这两种方法各有所长,在OpenGL下实现起来很不难,但如何在vp中应用,还是需要费一点功夫!

绘制Shadow Volumes模型的几何信息,这点限制很多,所本人采用了Shadow Mapping !

传统的Shadow Mapping 实现方法是两遍绘制,第一遍把是视点放在光点的位置上绘制深度缓冲区,也就是ShadowMap;第二遍,以正常的视点位置,投影ShadowMap,进行阴影绘制。经过几天研究,vp下基本实现了Shadow Mapping,为了简单,采用了三遍绘制,也就是说在vp的一帧里把场景绘制了三遍,效果还尽人意,但存在一下问题:

1.不能添加纹理,因为我在投影纹理时,会把其他的纹理忽略,解决这个还需要多文理技术。

.阴影的锯齿比较严重,只是Shadow Mapping的通病,下一步打算采用基于可编程图形硬件来实现 soft Shadow Mapping.

技术难点:

a.实现自动生成纹理坐标和投影纹理,需要具有一定的OpenGL知识,.如何干涉vp内部的绘制流程,需要对VSG的整体框架有一定认识。注:蔡所绘制的场景是通过Lynx加载进去的flt模型,而不是OpenGL画的,这点很重要,如何使vp的场景实现阴影,只是技术核心。

下面蔡还会发一些关于云的例子,敬请关注,由于时间问题,例子都很粗糙,要达到实用,还需要一定的改进,有兴趣的网友可以一起讨论。 关于shadow map的知识在nVidia的网站有详细的文档和例子,我就是参考这上面的例子写的,有问题可以讨论,代码绝对不是学习的唯一途径。



上一篇:关于启动北京市第十二批自主创新产品认定申报工作的通知
下一篇:航天慧海2016QT版研发成果VppSTK卫星仿真开发平台v4.5发布军委装发军民融合展