Editor

Editor目前已开源在github上,想贡献代码请联系我,邮箱 [email protected]。部分功能参考了霏霏的OgreSE,在此深表感谢。

Editor_第1张图片

你所见,这篇文章中不会提供更多的截图,请自行编译并运行它。在这里我会讲一讲它用到的技术,以及将来的计划。

 

前,计划要完成的几个内容如下:

FFT的水,真实感水模拟;

色彩校正,简单实用的画质调整技术;

HDR,现世代真实感成像!

 

Ogre与MFC的连接,是通过RenderWindow创建时,指定CView的句柄来实现的。RenderWindow的更新,由RenderPump中的renderOneFrame驱动,而这个方法,由间隔为33ms的计时器调度,这样就能保证FPS在30左右了。纹理预览这个功能存在已知的唯一一个BUG,内存泄漏,原因仍旧在查找中。已修复,资源没释放的问题。

形部分采用了Ogre的Terrain组件,这里有一篇文章把它的优势讲的很清楚了,http://blog.csdn.net/qq18052887/article/details/6819633。地形默认的材质生成器是OgreTerrainMaterialGeneratorA,如果使用延迟渲染的话,就要自己写一个Generator。

以在某些坑处,点上水。水面网格,是通过BFS搜出来的。我没提供任何跟水有关的material,想要惊艳的效果,就自己写materialr吧。

术菜单项,是用在创建完场景之后的。目前有Shadow,Deferred Shading,SSAO,DOF,HDR等。Ogre的Shadow例子,明显没跟上SDK的步伐。

合编辑中的材质编辑,可用来查看模型动画,自由打光,编辑material,compositor,program(cg,glsl,hlsl),并应用到模型上。Log都在输出窗口里了,方便调试。下一步要做的是写个解释器,对Ogre支持的脚本进行自动补全,目前仅仅是语法高亮而已。

Ogre的地形,每层需要两张dds纹理(用于法线映射+阴影),工具下的生成地形纹理就是为此而生的。FreeImage本身,只能载入dds,而不能输出dds,这项工作,还是交给DirectX的D3DXSaveTextureToFile来做吧。

OgreXMLConverter,仅仅是GUI版的,不过这样比起Console版已方便太多了。


MiscUtils的loadBitmap函数已改用DirectX!完全去除对FreeImage的链接。

你可能感兴趣的:(editor)