用Ogre生成天龙八部的lightmap和minimap的简单方法
来源:互联网 发布:莱阳螳螂拳淘宝 编辑:程序博客网 时间:2024/05/25 16:37
自从在一家创业小公司当了客户端主程以后,就忙的没有时间写博客了,整个公司没有一个人有完整的项目经验,所有一切都在摸索中前进,但初生牛犊不怕虎,项目还算进展顺利。但我始终认为,安静下来总结整理一下工作心得是必要的,可惜这个愿望恐怕得等到这个项目忙完以后。
周末有点时间,还是可以抽空随便写点东西。
lightmap的重要性不用多说,没必要所有阴影都动态去渲染,那些一辈子也不会动的静态物体,贴一张lightmap就行了,可惜Ogre只提供动态阴影给我们,帮人也不帮到底。
如何生成天龙八部一样lightmap,如果你去百度一下,他们会告诉你各种方法,什么光线追踪,shader,之类
以上都是告诉你,自己去产生一个阴影。但是Ogre已经帮我们产生了动态阴影,我们就没必要再自己去生成阴影,
只要用动态阴影的渲染一张静态阴影图,保存下来不就行了么。
那么如何用Ogre的动态阴影去产生一张静态的阴影图呢?
1)先学会渲染一张minimap的缩略图,缩略图大家都应该会吧,创建一个垂直俯瞰的摄像机,平行投影拍一张就是
2)改进minimap,让垂直俯瞰的摄像机的视口只渲染地形队列。不渲染其他队列
这样拍出来的minimap就只有阴影和地形纹理混合后效果了
Ogre::RenderQueueInvocationSequence* rqis =
Ogre::Root::getSingleton().createRenderQueueInvocationSequence("Lightmap maker");
Ogre::RenderQueueInvocation* rqi =
rqis->add(Ogre::RENDER_QUEUE_WORLD_GEOMETRY_1, "World Geometry");
viewport->setRenderQueueInvocationSequenceName("Lightmap maker");
3)再改进一下,把地形材质设置为BaseWhite,全白,那么minimap就变成了lightmap了。
4)Ogre的阴影并不好用,所以你需要优化,怎么优化,或者用shader实现,以后再写。
//////////这是动态阴影的图片、、、、、、、、、、、、、、、、、、、、、、、、、、
//////////////////////////这是贴上lightmap的图片
./////////////这是阴影图、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
附上代码,看看思路就好!
原创文章,转载请注明,谢谢!
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- LightMap的创建与生成
- LightMap的创建与生成
- LightMap的创建与生成
- OGRE实现天龙八部组合的骨骼动画
- Ogre-天龙八部粒子插件的实现(1)
- Ogre- 天龙八部粒子插件的实现
- Ogre 天龙八部frame格式的帧动画
- Ogre-天龙八部粒子插件的实现(1)
- 菜鸟学习OGRE和天龙八部之三: GridInfo和HeightMap文件的数据格式(已更正)
- 菜鸟学习OGRE和天龙八部之六: 地表和水面的normal搞定,光照正常了
- 菜鸟学习OGRE和天龙八部之八: 水面方格效果和光照BUG的修正
- 菜鸟学习OGRE和天龙八部之三: GridInfo和HeightMap文件的数据格式(已更正)
- 用attribute实现ORM
- poj2756解题报告
- QT调用mplayer
- 激活雪豹上的LAMP
- java中的instanceof 关键字
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- win7系统如何开启AHCI
- Code::Blocks搭配VC8编译资源文件
- 百度搜索技术沙龙感悟
- c++ 初学者指南 第八篇(4)
- 浪费掉的一周
- C#一个产生随机不重复数组
- struts2 ActionContext
- hdu 1074 dfs or bfs