2011年2月24日
摘要: 1,entity是没有getPosition的2,node的默认position是原点3,材质脚本中定义的程序段中的source文件名后缀必须与定义的shader文件类型匹配。如:vertex_program Ogre/CelShadingVP1hlsl{ source Example_CelShading1.hlsl entry_point main_vp targetvs_2_0}注意target是hlsl中独占,cg中是profile,且参数不同4,Plugin_CgProgramManager_d.dll 插件一定要有cg.dll配合5,OGRE不支持的中文路径用下面解决:setloc 阅读全文
posted @ 2011-02-24 17:03 minggoddess 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 天龙客户端大致的结构划分和功能描述说明UI系统 CEGUI UI基础系统 CEGUI渲染器 Expat XML解析器 CEGUI依赖,估计编写者不喜欢用 FreeType2 跨平台、开源的字体渲染器 用于绘制中文脚本 luaPlus3D显示引擎 Ogre 开源的高效渲染引擎 使用OGRE确实是很高的一步棋碰撞检测 Opcode 开源,占用内存少 我们可考虑用bullet,ODE,或其他(按实际要求)TinyXML XML的解析工具 游戏中使用的XML解析器,Code们熟悉的Music&Sound Effect FMOD SDK即可struct定义结构全部大写?WX编写系统 WXClie 阅读全文
posted @ 2011-02-24 17:00 minggoddess 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 首先一个Entity对象必须Attach到一个SceneNode。1.创建一个SceneNode:SceneManager::getRootSceneNode()(在SceneManager::init时会创建一个RootNode)àSceneNode::createChildSceneNode()àNode::createChild()主要的操作在这个函数中完成,首先调用虚函数SceneNode::createChildImpl(),此函数又会调用OctreeSceneManager::createSceneNode(),此函数会new一个SceneNode的派生类对象, 阅读全文
posted @ 2011-02-24 16:58 minggoddess 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点。当一个看似简单的Mesh渲染到窗口时,说明引擎的架构已经确定,并验证了。想了解Ogre内部的机制,可以先看看Mesh的加载过程,这里主要涉及到Resource是如何管理的,Material是怎样处理的,Resource和HardwareBuffer是如何关联的。对于前面教程代码的执行过程做一下分析:创建一个Entity(加载Mesh及其相关的Material)的调用流程如下:SceneManager::createEntity()->SceneManager::createMovableObject()->Movable 阅读全文
posted @ 2011-02-24 16:58 minggoddess 阅读(346) 评论(0) 推荐(0) 编辑
摘要: ()找到类名去google搜就能得到类关系图了 不用在ogre里扒拉着找了meshSerializer 功能分析AllocatedObject : new deletSerializer: 这里有对二进制文件的处理 This class provides a number of useful methods for exporting / importing data from stream-oriented binary files (e.g. .mesh and .skeleton). */ class _OgreExport Serializer : public SerializerA 阅读全文
posted @ 2011-02-24 16:31 minggoddess 阅读(713) 评论(0) 推荐(0) 编辑