09-28
2018
09-28
09-28
2018
09-28
09-28
游戏引擎设计系列12-物理系统
2018
09-28
09-28
游戏引擎设计系列11-动画系统
动画系统,包括基础的位置信息,骨骼节点信息,骨骼,Pose.制作导出模型的T Pose模型和骨骼的信息,再通过动画导出的骨骼信息值按帧计算出骨骼的当前Pose信息,通过SkinedMesh(一个顶点一般最多和四个骨骼节点相关)的双四元数算法,计算实际mesh的顶点信息. 继续阅读
Read More >2018
09-27
09-27
游戏引擎设计系列10-UI系统
2018
09-27
09-27
游戏引擎设计系列9-渲染系统
占位
Texture、Mesh、StaticMesh、SkinedMesh、Material、Shader、Resource
Resource
资源系统,用来管理资源的加载,保存和生成,同时处理依赖关系,在引擎中大部分资源都是Lua格式,通过读取加载.
需要以资源方式管理的资源继承自Re.... Read More >
2018
09-25
09-25
游戏引擎设计系列8-系统工具类
2018
09-25
09-25
游戏引擎设计系列7-虚拟文件系统
2018
09-25
09-25
游戏引擎设计系列6-模块管理
2018
09-25
09-25
游戏引擎设计系列5-线程、任务、任务队列
引擎为了更方便的使用多线程Thread,我们把所有需要在线程上执行的操作分解成任务Task,并且在Thread上生成一个任务队列TaskQueue,Thread根据TaskQueue的顺序和时间依次执行。需要在Thread上执行的任务,只要调用Thread上的Send和Post就可以将任务插入相应TaskQueue中,其中Send是阻塞的,Post是非阻塞的。 继续阅读
Read More >2018
09-25
09-25
游戏引擎设计系列4-脚本引擎(Lua)
上文回顾了反射系统,有了反射系统,脚本引擎实现起来就简单很多,不需要类似LuaBind的机制就可以实现。
Lua和C交互需要使用下列3个伪索引
LUA_REGISTRYINDEX // 注册表,只有C代码可以访问的全局表,使用时要注意Key,一般使用C地址以light userdata的形式做键。
LUA_ENVIRONINDEX // 当前模块的环境表,同lua_getfenv,lua_setfenv,类似于Lua中的_ENV, 相对于LUA_REGISTRYINDEX,不需要共享数据时,更推荐使用这个表,只作用于当前模块,可以增加安全性。
LUA_GLOBALSINDEX // 全局表,类似于Lua中的_G
继续阅读