2011年10月9日
摘要: 最近为了场景的优化,接到一个小人物,用maxscript把相同父节点的可编辑网格合并,以使程序渲染速度提高,原理在场景管理器那篇随笔中说到过了。于是在晨辉的帮助下开始学习maxscript,遇到问题主要可以3dmax的maxscript.chm中找到帮助,在研究了一番maxscript的写法之后和将可能会遇到的问题后再开始写就会很流畅了。考虑到主要的问题有:1 函数、if、for的写法2 如何判断一个节点的类型(MaxRootNode?Dummy?Editable_mesh?)这里使用classOf函数(也可以使用isKindOf)3 依附的选项,这里主要加上attachMat:#IDToMa 阅读全文
posted @ 2011-10-09 23:34 云 溪 阅读(1618) 评论(0) 推荐(0) 编辑
  2011年10月1日
摘要: 最近刚看完《cg教程-可编程实时渲染权威指南》这本书,对照之前写的纹理的文章,现在从渲染管线角度加深了理解,再重新整理一遍图形学中纹理映射。一:alpha mapping 简单来说就是用带透明通道的图片进行纹理贴图,主要用例为树,其实就是两个互相垂直的矩形都贴上贴图,但要使透明的alpha不被显示出来二:light mapping 就是用一张光照图片和另一张图片进行混合,模拟有光照的样子,NEHE的opengl教材中第七章就属于典型的例子三:环境映射(environment mapping) 通过视线和法向量计算出入射光线,通过此入射光线在纹理盒(CubeTexture)中查找到相应的像... 阅读全文
posted @ 2011-10-01 18:10 云 溪 阅读(2359) 评论(0) 推荐(0) 编辑
  2011年9月29日
摘要: 顶层Material属性属性名 值的格式 描述lod_distances <d1> [<d2> ... <dn>] LOD的距离列表receive_shadows <on>|<off> 阴影是否会投在这个物体上(默认为on) transparency_casts_shadows <on>|<off> 透明物体是否投射阴影set_texture_alias <alias_name> <texture_name> 重命名纹理Technique 属性 属性名 值的格式 描述scheme < 阅读全文
posted @ 2011-09-29 23:31 云 溪 阅读(443) 评论(0) 推荐(0) 编辑
  2011年9月18日
摘要: 本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了。文章可能讲得有点罗嗦,很多简单的东西都讲了。我是修改了ETM(Editable Terrain Manager)实现的地形,其实单单实现天龙八部的地形场景等的载入根本不需要使用ETM,直接用Ogre的顶点->索引->纹理就可以搞定地形,但我要做的是可以实时编辑的,所以用了ETM,场景其由于很重要的粒子和model等部分我还没去看,所以等以后看了再详细写关于场景的部分,但这个Demo已经实现了基本的场景的载入。光,雾,环境,静态物等都能载入 阅读全文
posted @ 2011-09-18 15:01 云 溪 阅读(457) 评论(1) 推荐(0) 编辑
摘要: 本文主要讲的是《天龙八部》游戏中水面(TerrainLiquid)的具体实现,使用C++, Ogre1.6 。天龙的水面做的比较简单,虽然没有倒影,但动态纹理+深度图做出的效果还行,看着不是特别假。一般情况下,TerrainLiquid有一层动态纹理,有的还会有一层1D深度图纹理,深度图纹理用来控制不同深度水面的透明度。另外还会给出一个坐标,可以称之为种子坐标,通过这个坐标可以填充整个水面。总的来说要实现天龙的水面只要搞清楚两个问题1.如何利用种子坐标填充整个水面2.如何利用深度图纹理控制水面透明图文章最后我放了TerrainLiquid的代码的链接,配合上篇随笔给的地形Demo代码再加上水面 阅读全文
posted @ 2011-09-18 14:34 云 溪 阅读(287) 评论(0) 推荐(0) 编辑
  2011年9月17日
摘要: 中国移动支持两种网络传输cmwap、cmnet,其中cmnet就和PC一样,直接对目的地进行访问,并且支持socket;而cmwap则是通过移动的一台服务器进行代理,不支持socket,指支持http,支持任意格式的文本,比如后缀为.html的纯文本。一般的自动设置的都是cmwap,因为cmwap更为便宜,不过貌似听人说移动已经将两种的资费统一了,没查过。总之,在开发J2ME的网络传输时要着重考虑cmwap的兼容性。 以下为cmnet访问百度的代码: conn = (HttpConnection)Connector.open("http://www.baidu.com/index.h 阅读全文
posted @ 2011-09-17 22:12 云 溪 阅读(434) 评论(1) 推荐(0) 编辑
摘要: 一直想等得闲开始写博客,却总是“说的未来到底多久才来”,这两天在研究OGRE中渲染优化的问题,无意中搜到一大牛在博客园的博客http://www.cnblogs.com/lancidie/好像突然又看到了更大的OGRE世界,夜深人静,想想确实该抛弃掉一些无谓的东西,专心做这些想做的事了,好吧,博客园的处女作就写写这两天关于场景管理的学习笔记吧。大多都来源于网上的资料,配以个人的理解。 目前的大多数有游戏引擎都采用场景图(scene graph)的概念对场景中的模型进行管理。如图: 场景图其实是一棵树,上面挂接结点,结点则可以依附模型实体(OGRE中为entity,即mesh),... 阅读全文
posted @ 2011-09-17 21:18 云 溪 阅读(781) 评论(0) 推荐(0) 编辑