3D引擎研究
火云洞红孩儿
2003年进入网络游戏公司,长期工作在开发一线,曾担任国产游戏引擎Cocos产品总监,开发过多款游戏引擎及相关编辑器~。
展开
-
天气不好。雨加雪~
雨加雪天气。 天气,也是3D引擎中一个必备的节目。有它,可以活跃游戏的环境因素。原创 2010-04-22 13:24:00 · 3027 阅读 · 3 评论 -
场景中的巨量几何体替代方案
人群: 在3D游戏中,有时需要显示大量的人物或NPC动画。如果这些动画都使用模型,相信你的机器难以承受巨量的人物动画所需的计算量。今天介绍一种方法。 这是在RenderWare引擎的例子中看到的。如图,一个体育馆中的大量观众场景。这些观众都是实时动画。但FPS数量很高。做法就是使用片来代替模型。 这是人物的图例。 只用原创 2010-04-21 07:54:00 · 2899 阅读 · 2 评论 -
3ds max 导出插件开发后记
一直以来。3ds max 导出插件的开发这部分对我都是神秘的黑盒子。直到一个月前,不得不去做这个事,我才开始一步步走近他。通过网络上的只言片语和代码揣摩。终于在两周的时间搞定了导出插件和骨骼动画的查看器。 我用的VS2005进行开发。 对应 3ds max 2008sdk,3ds max 2原创 2009-10-26 14:10:00 · 3976 阅读 · 2 评论 -
利用OGRE的海洋例子改成的水编辑器
看了海洋的例子之后,我们知道其实水的效果关键就在于材质中各个属性的调节。所以我就以例子中的材质制做了一个可以加载和保存的水编辑器。 另外通过修改HLSL文件和material文件加上了透明度调节。 要修改的部分为:PS声明: fragment_program HLSL/Ocean2FS hlsl{ source Ocean原创 2009-07-10 12:54:00 · 5190 阅读 · 2 评论 -
OGRE例子:Demo_Ocean 源码解析
因为最近在做水,所以这篇海洋的例子是必须要读懂的。 耐着性子看了一下,还是能看懂的。现在将代码解析放上来。程序共有四个文件:MaterialControls.h :MaterialControls.cpp包含一个Shader属性结构和材质结构。其中Shader属性结构对应于海洋中模型对应VS,PS的一些属性。材质结构中原创 2009-07-07 20:20:00 · 5557 阅读 · 2 评论 -
3D拼合地形中的浪花
在开发3D地形的过程中,我遇到了一个难题,就是浪花的处理。我之前没有研究过水。所以很担心做不好。经过网络查阅和不断的思考。我认为浪花的处理最困难的是查找水与地形的接触边缘线。经过不断的试验。终于找到了边缘线。现在将做法记下来。 图1是一个拼合好的地形水池。原创 2009-07-04 19:17:00 · 3071 阅读 · 1 评论 -
修改OGRE中的模型顶点色
我想修改模型的顶点。在以前DX的开发经历中, 锁定顶点缓冲后改顶点色是很容易的。但是在OGRE中,我却没有成功实现。//设置模型的顶点色void CD3DEffect::Fun_SetModeColor(DWORD vColor){ if(mObjEnt) { MeshPtr tpMesh = mObjEnt->getMesh(); tpMesh->setVertexBufferPo原创 2009-04-27 17:36:00 · 4198 阅读 · 0 评论 -
奇怪的BUG
在我使用一个MFC程序来打开一个MESH时,总是出现弹出错误。 但我在MFC程序初始化时就指定显示一个MESH时,却OK。 问题在哪里呢? 经过一番调试,发现问题是在用CDialog打开文件后,CurrentDir被更改了,这就导致了无法正确导入模型。所以,在打开文件后,要重新指定一下CurrentDir::SetCurre原创 2009-04-25 10:05:00 · 1953 阅读 · 0 评论 -
在OGRE中使用原有的D3D界面处理方式。。
我在接触OGRE之前,做过一个基于DX的UI处理系统。真的用OGRE时,才发现OGRE也有自已的UI处理系统。但我这个人是不想再浪费精力重写UI了。如果能直接用的话,当然是最好了。 经过网上查询,发现可以在OGRE中得到DX的设备对象。这真太好了。有了它,我就可以用它来单独进行UI的渲染,在OGRE渲染序列结束时调用,哈哈。原创 2009-04-25 09:41:00 · 2231 阅读 · 2 评论 -
OGER SDK研究之八 Smoke 烟雾粒子
/*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see http://www.ogre3原创 2008-11-24 21:56:00 · 2967 阅读 · 1 评论 -
OGER SDK研究之六 Demo_Terrain 地形跟随
Terrain.h/*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see http:原创 2008-10-31 00:15:00 · 2256 阅读 · 0 评论 -
OGER SDK研究之四 Demo_SkyBox 天空盒
SkyBox.h/*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see http:/原创 2008-10-31 00:13:00 · 2035 阅读 · 0 评论 -
OGER SDK研究之二 Demo_EnvMapping 环境映射
EnvMapping.h /*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see原创 2008-10-31 00:09:00 · 1797 阅读 · 0 评论 -
OGER SDK研究之一 Demo_BezierPath (贝塞尔曲线平滑补丁)
BezierPatch.h /*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, se原创 2008-10-31 00:05:00 · 2757 阅读 · 2 评论 -
OGER SDK研究之五 Demo_SkyDemo 天空穹
SkyDemo.h/*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see http:原创 2008-10-31 00:14:00 · 1958 阅读 · 1 评论 -
结点(Node)--------一生二,二生三,三生万物
Node,节点,一切的基础。 由OGRE的学习中最大的收获是在自写引擎时形成了一个设计框架,即由NODE形成的一种设计模式。 一个Node, 有关系属性:父,子,兄节点 有变化属性:位置,大小,旋转。原创 2010-05-13 09:22:00 · 3031 阅读 · 2 评论 -
3D max 动作导出与骨骼绑定
骨骼动画是3D引擎中的一个重要部分。 本质上看,就是让顶点受矩阵m影响,而这个矩阵m是通过几个权重值和匹配的矩阵bm做为系数插值计算的。 这个bm就是骨骼的变化矩阵。 用SKIN方式制做的3ds max 动作。所有的顶点都会绑定骨骼和分配相应骨骼权重。 导出的骨骼矩阵是每原创 2010-05-13 08:42:00 · 10843 阅读 · 0 评论 -
火云开发课堂 - 《Shader从入门到精通》系列 第十节:在Shader中实现模糊滤镜
《Shader从入门到精通》系列在线课程 第七节:在Shader中实现模糊滤镜 视频地址: http://edu.csdn.net/course/detail/1441/22674?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图:原创 2015-09-28 09:22:30 · 1431 阅读 · 1 评论 -
火云开发课堂 - 《Shader从入门到精通》系列 第九节:在Shader中实现马赛克滤镜
《Shader从入门到精通》系列在线课程 第七节:在Shader中实现马赛克滤镜 视频地址: http://edu.csdn.net/course/detail/1441/22673?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图:原创 2015-09-28 09:18:42 · 1629 阅读 · 2 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十一节:拾取地表与物体
《使用Cocos2d-x 开发3D游戏》系列在线课程 第二十一节:拾取地表与物体 视频地址:http://edu.csdn.net/course/detail/1330/20821?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 项目实例: 原创 2015-09-28 17:46:44 · 1960 阅读 · 0 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第六节:VS基础:树木的摇动
《使用Cocos2d-x 开发3D游戏》系列在线课程 第六节:VS基础:树木的摇动 视频地址:http://edu.csdn.net/course/detail/1330/20805?auto_start=1交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:http://www.firestonegames.com原创 2015-08-21 14:28:15 · 1696 阅读 · 0 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十节:人物简单阴影
《使用Cocos2d-x 开发3D游戏》系列在线课程 第二十节:人物简单阴影 视频地址:http://edu.csdn.net/course/detail/1330/20819?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 项目实例:原创 2015-09-25 21:49:30 · 2513 阅读 · 1 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第五节:模型的加载与渲染
《使用Cocos2d-x 开发3D游戏》系列在线课程 第五节:模型的加载与渲染。 视频地址:http://edu.csdn.net/course/attend/1330/20804交流论坛:http://www.firestonegames.com/bbs/forum.php? 工程下载地址:http://www.firestonegames.com/bbs/forum.ph原创 2015-08-20 15:09:59 · 1797 阅读 · 1 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第十四节:包围盒碰撞
《使用Cocos2d-x 开发3D游戏》系列在线课程 第十三节:包围盒碰撞 视频地址:http://edu.csdn.net/course/detail/1330/20813?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 项目实例:原创 2015-09-10 13:31:46 · 2292 阅读 · 1 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第十三节:骨骼点绑定
《使用Cocos2d-x 开发3D游戏》系列在线课程 第十三节:骨骼点绑定 视频地址:http://edu.csdn.net/course/detail/1330/20813?auto_start=1 工程下载地址:http://www.firestonegames.com/bbs/forum.php?mod=viewthread&tid=5&page=1&extra=#pi原创 2015-09-09 16:56:56 · 1814 阅读 · 1 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第十节:描边效果处理
《使用Cocos2d-x 开发3D游戏》系列在线课程 第十节:描边效果处理 视频地址:http://edu.csdn.net/course/attend/1330/20810交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:http://www.firestonegames.com/bbs/forum.php?mo原创 2015-09-01 15:57:26 · 2539 阅读 · 0 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第九节:卡通渲染
《使用Cocos2d-x 开发3D游戏》系列在线课程 第九节:卡通渲染 视频地址:http://edu.csdn.net/course/detail/1330/20808?auto_start=1交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:http://www.firestonegames.com/bbs/f原创 2015-08-31 09:37:48 · 1799 阅读 · 0 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第八节:灯光
《使用Cocos2d-x 开发3D游戏》系列在线课程 第八节:灯光 视频地址:http://edu.csdn.net/course/detail/1330/20808?auto_start=1交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:http://www.firestonegames.com/bbs/for原创 2015-08-26 12:40:43 · 2199 阅读 · 0 评论 -
火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第七节:PS基础:UV动画
《使用Cocos2d-x 开发3D游戏》系列在线课程 第七节:PS基础:UV动画 视频地址:http://edu.csdn.net/course/attend/1330/20807交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:http://www.firestonegames.com/bbs/forum.php原创 2015-08-24 10:33:55 · 2131 阅读 · 1 评论 -
第一章《3D理论初步》
小伙伴们,你们好! 经历了两年多的Cocos2d-x的学习与开发,我相信你们都已经成长为一名合格的Cocos2d-x程序员。但是,千万不要觉得这样就可以万事无忧了!3D时代已经来临,3D手游的产品越来越多,怎么办?使用Unity3D?嗯,是啊,Unity3D看起来不错的样子,不过,你是愿意放弃长期习惯的VC++的开发方式?你是否愿意放弃开源引擎自由掌控代码的感觉?你是否愿意从此站在引擎底层之原创 2014-10-15 01:08:54 · 9740 阅读 · 6 评论 -
万圣节福利:红孩儿3D引擎开发课程《3ds max导出插件初步》
红孩儿3D引擎开发课堂 QQ群:275220292 国内最详尽教授如何开发3D引擎的地方!揭开3D引擎开发最不为人知的秘密!万圣节福利,国内最详尽的3ds max导出插件编程指南初级篇免费发放! 第九章课程《3ds max导出插件初步》一.3ds max导出插件简介: 在游戏开发中,我们最多接触到的资源就是模型,一款游戏的模型量是一个巨大的数字,这么多模型,只原创 2014-10-31 09:27:02 · 8379 阅读 · 14 评论 -
3ds max 中平滑组顶点法线的导出
3ds max中导出顶点的法线看似很容易,直接通过mesh->getNormal(i);可以获取,但实际上这样获取的法线不一定对。实际在3ds max中会常常使用平滑组来对面法线进行指定。这样的结果是一个顶点可能处于多个平滑组中。或者说,一个顶点有N个法线对应。所原创 2011-08-16 10:17:06 · 6456 阅读 · 0 评论 -
D3D的动作融合
D3D的动作融合 当游戏主角由走路变为跑步时,如果生硬的切换动作。会不真实。最常见的办法是将走路与跑步的动作进行插值融合。 今天做了一下这部分的工作。效果还不错。 原理就是: D3DXMATRIX tLerpMatrix; tLerpMatrix =(原创 2010-05-25 09:18:00 · 3378 阅读 · 2 评论 -
动作文件的合并
动作文件的合并 在使用导出插件将3ds max制做的多个动作导出后,如果直接使用一个模型与一个动作文件进行对应。那么一个人物往往会有多个动作,就需要多个模型文件与多个动作文件。如果我们能使用一个人物的模型文件匹配上任何一个此人物的动作文件,就可以节省大量的模型文件,不但节省了内存。更提高了更改动作的速度。因为不需要重新加载模型。只需要变换动作矩阵。可以实现瞬间更改动作。原创 2010-05-19 22:00:00 · 3169 阅读 · 0 评论 -
OGER SDK研究之三 Demo_SkyPlane 天空面
SkyPlane.h /*-----------------------------------------------------------------------------This source file is part of OGRE (Object-oriented Graphics Rendering Engine)For the latest info, see h原创 2008-10-31 00:11:00 · 1932 阅读 · 0 评论