引言:GameByro是一款成熟的商业引擎,已经被许多成功的商业项目所使用,不仅包括文明4、上古卷轴4,辐射3等跨平台知名单机游戏,还有EA的大型3DMMORPG战锤online。GameByro完全基于面对对象设计,结构清晰,便于使用和扩展。灵活的可编程渲染架构使它比较容易支持最新的图形技术。另一方面,由于强调通用性,GameByro并没有对上层应用做太多的支持,其工具和插件大多仅具有一些通用功能,所以它更像是一个游戏开发套件而不是一个完整的FrameWork。引擎特性概览:跨平台(PC,XBOX360,PS3)场景图表现为层次化的结构同目前主要的建模工具集成(插件支持)高效的可视性裁剪在所有的平台上支持高级3D硬件加速高级纹理和着色效果动态碰撞检测细节分级表现(LOD)灵活的渲染,排序和裁剪算法对象系统: GameByro的对象系统的使用遍及整个引擎,其主要实现如对象管理,引用计数,对象生存期等功能。可以通过对几个基类的继承来使用对象系。其主要特性主要有:智能指针(引用计数)运行时类识别(RTTI)场景对象复制序列化(对象文档化)对象命名对象扩展数据的管理定时器(主要用于动画)多线程操作驱动层: GameByro对图形接口进行了封装,将图形API从引擎的渲染系统中剥离出来,在PC系统上,GameByro同时支持DX9和DX10两种接口。DX9渲染器特性:GameByro不允许多个DX9Renderer对象同时存在,且不能与DX10Renderer共存。但在同一帧内,GameByro的DX9Renderer可以同时渲染多个窗口。GameByro的DX9渲染器支持对资源的多线程访问,同时也支持对资源的预载,但是多线程的操作仍然受到严格的限制。DX9Renderer 的固定管线蒙皮操作最少支持4块骨骼(矩阵),同时基于shader的蒙皮操作支持30块骨骼。DX9Renderer通过对后台缓冲的多重采样支持全屏抗锯齿,范围在2倍到4倍之间。大多数硬件在DX9下对几何体的一个单一的piece所能接受的光照数量都有一定的限制(指渲染的一个批),如果超过这个限制,GameByro会根据距离或者是影响因子放弃一些光照。正因如此,在应用程序中,当8个以上的逐顶点光照作用于同一对象时,就会有一些被抛弃。DX9Renderer提供了视口的左右反向功能,用于实现后视镜、立方体贴图表面绘制等功能。DX9Renderer支持顶点雾,可以通过相关接口设置雾的最大值。DX9Renderer完全支持DX的纹理格式。应用程序可以将自己的Direct3Dtextures提供给GameByro,引擎会自动将其封装到自己的材质对象中并允许添加属性和特效。通过提供自己的DX的纹理格式,GameByro能够正确的使用自并非天然支持的纹理格式。纹理相关特性和限制:DX9Renderer需要显卡支持在同一pass中至少使用两个纹理,否则渲染器则不会创建成功。此外受限于硬件的功能还有:CubeMapping(立方体纹理)SpecularBumpMapping(凹凸镜面贴图)DiffuseBumpMapping(凹凸反射贴图)Non-Power-of-TwoTextureSize(编长非二整数幂的纹理):使用这种纹理有如下限制:纹理寻址模式必须设置为clamp,Mipmapping不能使用。TextureDownsizing(纹理精度缩减)pression(压缩纹理),DX9Renderer支持载入经过压缩的纹理格式,并提供了纹理即时压缩的功能。如果硬件支持压缩纹理,DX9Renderer可以将经过压缩的纹理数据直接交给硬件处理,否则DX9Renderer会自动将数据解压后再交给硬件。TextureApplyModesSupported:DX9Renderer不支持APPLY_DECAL纹理应用模式。TextureFormatRequests(纹理格式要求):精确的纹理像素映射依赖于目标硬件和显示器像素位宽。PalettizedTextureFormats(调色板纹理格式的支持)。SphereMapping(球面映射):GameByro中所有的渲染器都支持世界空间中的球面映射。DX9Renderer支持加载包括DDS、TGA、BMP格式的文件。Cubetextures和volumetextures都能被正确的加载,但是只能通过三维坐标寻址。GameByro的编辑器支持导出DX原格式的纹理,并在加载的时候不进行格式转换。将DX格式的纹理直接交给DX处理。引擎渲染系统分析 GameByro的渲染是由帧渲染系统(FrameRenderingSystem)控制的,帧渲染系统封装了每一个批次的绘制过程,这样可以方便的控制整个渲染流程。阴影系统: GameByro的阴影系统是使用帧渲染系
GameByro引擎介绍 来自淘豆网m.daumloan.com转载请标明出处.