Zephyr
关于命名:
Zephyr,英文意为西风、徐风,很轻柔很舒心的那种风。
用这个名字,有2个原因,其一,它是字母Z打头的,而我呢,则是喜欢Z的;其二,就是其本意风了,而且还是徐风,给人轻柔舒心容易接近的感觉,这也是我所喜欢 并 希望的。(呵呵,好像是很个人主义的命名啊:P)
概要:
Zephyr Engine 是一款基于c++ 的高效游戏引擎(部分内核模块使用汇编编写),它涵盖游戏开发可能涉及到的各个方面,诸如 图形、音频、视频/多媒体、网络 等。各部分之间保持独立,可适用于不同的开发环境。
完全支持与 MFC、ATL 协同开发,全面支持Windows内部UI控件,并可以 和 Windows GDI 无缝结合;几乎不用修改源码,可以从WindowsAPI编写的exe程序,转换成用ATL编写的控件形式;也可以在MFC或ATL开发中使用它的 全部 或 部分模块(会大幅降低GDI图形程序开发的 难度 和 效率)。
核心底层:
提供一些常用类型的封装。
数据结构:包括特殊用途的动态数组、链表、队列、堆栈等基础数据结构。
调试输出模块:支持断言、LOG输出、对话框显示 等多种调试输出形式。
底层文件模块:支持 本地文件、异地网络文件、打包文件 统一操作(接口完全一致)。
线程系统:简化Windows线程编程。
计时器:提供比Windows更精确的计时器。
图形底层:
可扩充的多渲染底层;支持3D硬件加速;支持异步图形操作;支持局部刷新渲染;支持常用图形文件(.bmp、.jpg、.tga)。
多渲染图形底层:目前支持 纯软件渲染(不需要DX、OpenGL任何版本支持)、DDraw 和 D3D渲染内核,可以很方便的扩充 渲染内核。
多渲染引擎
丰富的绘图指令:除了普通的blt、带透明色的blt外,还支持各种融合效果(普通的alpha、alpha通道、addtive融合等),支持边缘柔化、无级缩放、旋转等高阶操作。
Alpha通道演示(注意 园框中心部分彩色渐进半透明效果)
基本图形操作(含动画)
多人动画演示(200人),近大远小效果,带Alpha融合
残像演示
文字显示:支持Windows系统的TTF字体 及 点阵字体,可以显示特大的文字,也可支持其它绘图操作(如alpha、缩放等)。
高级接口:动画、粒子系统等。
基于Z-buffer的2D正式光影演示(裙子等最突出的地方先被照亮)
例子特效 Alpha通道、Additive融合、Alpha融合、缩放
Windows界面:
直接支持MFC;全面兼容Windows GDI;支持Windows 内部 UI控件;自带一套 UI 控件。
支持MFC:独立的ZephyrMFC模块,完全支持MFC,将图形模块内嵌入MFC中,可以方便的用MFC来开发基于ZephyrEngine的程序。
全面兼容Windows GDI:Windows GDI有一套自己的刷新方式,保证相对低刷新率(非屏幕刷新率)下的高效操作,使用ZephyrEngine,将完全兼容Windows GDI,可以保证不同刷新率下的2种绘图方式并存且不闪烁。
支持Windows内部UI控件:支持Windows 内部 UI控件。
基于MFC开发的游戏截图,混合Windows UI和ZephyrUI使用
自带UI控件:有一套自己的UI控件,支持图形化对话框、按钮等常用控件。
Zephyr UI演示
音频模块:
提供对常用声音类型的支持(MIDI、Wave、MP3),内部音频数据管理,内存管理等,针对游戏做了特殊优化。
多媒体模块:
通过ActiveX控件,可以支持各种多媒体格式文件,诸如AVI、MPEG4、Flash等。
网络模块:
人性化的开发接口;高效网络服务器模型;分布式服务器构架;集群服务器。
人性化开发接口:提供多种网络内核模型;接口简单易于扩充。
高效网络服务器模型:支持完成端口模型,针对高并发量游戏服务器端做出特殊优化;完善的底层封包、网络消息管理;线程池多事务处理。
分布式服务器构架:支持分布式服务器构架。
集群服务器:多台服务器协作完成一个服务。
附:
无限大小整图背景引擎演示,理论上支持无限大小整图做为游戏背景地图,
该演示使用一张高达29.2MB的一副整图,仅使用大概2MB左右的缓冲
硬件渲染的拼图游戏
类似可乐8的ActiveX控件聊天室
3D演示,动态光照、动态阴影、角色动画