关于FlagshipEngine
来源:互联网 发布:python 股票图 编辑:程序博客网 时间:2024/06/08 17:48
首先要感谢旗舰工作室的倒掉,让我可以名正言顺的使用FlagshipEngine这个名字,话说这个实验引擎,当初只是我的大学毕业设计,工作之后实在太忙,写写停停,进度缓慢,到今天也只能算V0.001,其特性主要有以下三点:
一、多线程
多核CPU早已普及,但3D引擎却迟迟不能享受到其好处,还仅仅停留在资源异步加载,音频独立线程等不疼不痒的应用,就在一年前吧,公司的牛人们为了优化骨骼动画和粒子计算煞费苦心,这两样计算,特别是在无法控制同屏资源的网络游戏中,对CPU资源的占用非常可观,自然也拖累了游戏帧数,于是我便有了将逻辑计算与渲染分离的想法。
FlagshipEngine实现了一套没有线程同步的双线程结构,可以做到骨骼动画、粒子计算、光源移动等逻辑计算分离到一个单独的线程运行,完全不影响渲染帧数。
二、shader渲染器
DX10已经放弃了固定管线,那么我们也没理由再留恋它,完全基于shader的渲染器实现起来更加清晰简洁,并且易于扩展,目前FlagshipEngine已经实现了DX9和DX10两个渲染器,可以方便的添加特效。
三、统一剪裁
场景组织和剪裁永远是3D引擎的核心功能,视锥、四叉树、BSP、Portal如何选择,如何统一是个难题,我的做法是将所有的剪裁都抽象成剪裁面,并用压栈和出栈的方式,递归的对场景进行剪裁,另外我们还可以对大块实体绑定简单模型的遮挡体,使用边缘检测算法生成遮挡剪裁面,实现遮挡剪裁。
这套机制还没有经过严格的测试,有待进一步的验证。
就这么多了,希望它有朝一日能修成正果,阿门。。。
一、多线程
多核CPU早已普及,但3D引擎却迟迟不能享受到其好处,还仅仅停留在资源异步加载,音频独立线程等不疼不痒的应用,就在一年前吧,公司的牛人们为了优化骨骼动画和粒子计算煞费苦心,这两样计算,特别是在无法控制同屏资源的网络游戏中,对CPU资源的占用非常可观,自然也拖累了游戏帧数,于是我便有了将逻辑计算与渲染分离的想法。
FlagshipEngine实现了一套没有线程同步的双线程结构,可以做到骨骼动画、粒子计算、光源移动等逻辑计算分离到一个单独的线程运行,完全不影响渲染帧数。
二、shader渲染器
DX10已经放弃了固定管线,那么我们也没理由再留恋它,完全基于shader的渲染器实现起来更加清晰简洁,并且易于扩展,目前FlagshipEngine已经实现了DX9和DX10两个渲染器,可以方便的添加特效。
三、统一剪裁
场景组织和剪裁永远是3D引擎的核心功能,视锥、四叉树、BSP、Portal如何选择,如何统一是个难题,我的做法是将所有的剪裁都抽象成剪裁面,并用压栈和出栈的方式,递归的对场景进行剪裁,另外我们还可以对大块实体绑定简单模型的遮挡体,使用边缘检测算法生成遮挡剪裁面,实现遮挡剪裁。
这套机制还没有经过严格的测试,有待进一步的验证。
就这么多了,希望它有朝一日能修成正果,阿门。。。
- 关于FlagshipEngine
- 开篇:关于FlagshipEngine
- 多线程渲染(Multithreaded- rendering)3D引擎实例分析 : FlagshipEngine
- 多线程渲染(Multithreaded- rendering)3D引擎实例分析 : FlagshipEngine
- 多线程渲染(Multithreaded- rendering)3D引擎实例分析 : FlagshipEngine
- 关于
- 关于
- 关于++,--
- 关于#
- 关于。。。
- 关于
- 关于......
- 关于
- 关于
- 关于****
- 关于
- 关于!
- 关于++
- SilverLight:”无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本”的解决方案。
- ace技术内幕示例代码
- 英语词汇12
- 网游创业失败全攻略
- juery GridTree表格树
- 关于FlagshipEngine
- _beginthreadex和_endthredex实例
- 从a+b开始
- POJ1010 Stamps
- 3D编程的四个境界
- 3D引擎多线程
- haxe,最适合初学者的语言
- C符号重载
- 不能说のsecret 3