osg(OpenSceneGraph)是一个开源的三维引擎,对openGL进行了一定程度的封装,虽然各方面优化程度不够,功能相对于一些商业引擎也不够完善,不过它的优势在于开源、自由度大、容易上手,如果能力够的话完全可以将其改为一款商业引擎,当然自己直接封装OpenGL与DirectX弄一个RHI,然后再基于这个RHI来做自己的引擎当然更好了。

下面来讲一下本人在工作的闲暇时间做的一个简单三维场景管理器吧,该管理器基于QT与OSG进行开发,并集成了SpeedTreeSDK来对SpeedTree模型进行渲染以及osgHimml来实现实时天空。主要包含以下功能:
1、资源管理器

资源管理器是一个针对于模型资源的资源管理系统,可在该系统中双击模型将模型导入场景(下一步将实现直接将模型拖入场景)。
2、场景编辑器



场景编辑功能主要针对导入的模型进行平移、旋转与缩放,以及对粒子效果位置的编辑功能。
3、SpeedTree模型渲染


场景实现了SpeedTree模型的直接导入,并完成了对SpeedTree模型风场效果以及法线贴图效果的渲染。
总结:最后给大家放几张整体效果图





网友评论