1.虚幻3引擎引擎
2.UE4源码剖析——光照贴图(LightMap) 之 由烘焙到渲染流程
虚幻3引擎引擎
有着悠久历史的游戏开发商id Software有个传统,就是在他们的一款游戏引擎被广泛使用一段时间后,会选择公开引擎源代码。近日,知名游戏引擎开发商Epic Games紧随其后,宣布开放其招牌产品——虚幻引擎3(Unreal Engine 3)。养殖源码尽管源代码并未公开,但游戏开发者可以利用免费的Unreal Development Kit (UDK)开发工具包,来创作基于UE3的独立游戏。关于授权,非商业和教学用途是完全免费的,但若想将开发的57源码升级游戏商业化,必须与Epic Games联系并支付授权费用。目前的政策是,前5万美元的利润可以免费,超过这个数额的部分则需要向Epic支付%的利润作为费用。 年月,EPIC和NVIDIA合作推出了虚幻引擎3的免费版Unreal Development Kit,此举是NVIDIA推动CUDA通用计算市场战略的一部分。虚幻引擎3在游戏界崭露头角,凭借其开发出众多热门作品。UDK开发包包含完整的开发工具,如Unreal Editor关卡编辑工具,立柱变色源码Unreal Content Browser素材管理器,面向对象的UnrealScript编程语言,Unreal Kismet可视化脚本系统,**化场景控制的Unreal Matinee,粒子物理和环境效果编辑的Unreal Cascade,支持NVIDIA PhysX物理引擎的Unreal PhAT建模工具,Unreal Lightmass光照编辑器,以及用于骨骼和肌肉动作模拟的AnimSet Viewer和AnimTree Editor。目前,UDK主要针对PC游戏,但Epic Games表示正考虑扩展到Xbox 和PS3平台的http实现源码开发功能。UDK的安装包大小为MB,未来也会持续提供免费更新。扩展资料
虚幻3引擎(Unreal Engine 3)又称虚幻引擎3,是一套为DirectX 9/ PC、Xbox 、PlayStation 3平台准备的完整的游戏开发构架,提供大量的核心技术阵列,内容编辑工具,支持高端开发团队的基础项目建设。 虚幻3引擎的所有编写观念都是为了更加容易的内容制作和编程的开发,为了让所有的lwip ucos源码美术开发人员能够牵扯到最少程序开发内容的情况下使用抽象程序助手来自由创建虚拟环境,以及提供程序编写者高效率的模块和可扩展的开发构架用来创建,测试,和完成各种类型的游戏制作。UE4源码剖析——光照贴图(LightMap) 之 由烘焙到渲染流程
在离线编辑器阶段,通过构建(Build)按钮启动光照烘焙流程,UE4引擎在构建场景光照、反射球信息、预计算静态网格可见性、构建导航网格、构建HLOD、构建流式贴图等,仅关注光照相关只构建光照(Build Lighting Only)阶段,Lightmass系统负责计算光照,Swarm分布式工具加速并分担计算任务。
Swarm初始化并启动烘焙流程,Startup阶段计算光照构建的关卡与灯光信息,统计静态几何体数据并初始化Swarm,Swarm分为协调与代理程序,负责数据导出与任务分配。AmortizedExport阶段进行分摊式数据导出,SwarmKickoff阶段Swarm全面启动,AsynchronousBuilding阶段消费者程序执行任务,完成光照信息计算。AutoApplyingImport阶段根据配置决定是否自动导入烘焙结果,WaitingForImport与ImportRequested阶段等待导入烘焙数据,Import阶段完成数据导入,Finished阶段地图构建完成。
光照贴图合并大图过程,为每个静态几何体独立生成光照贴图后,UE4将多张贴图尽可能合并到一张大贴图中,以优化IO加载与渲染性能。合并算法简单,通过排序、读取最大尺寸限制与重新摆放光照贴图完成。
贴图像素设置与Mipmap生成,合并后的光照贴图设置像素值,为每种类型的光照贴图创建,最终将数据以真实形式存储。贴图包含SkyOcclusionTexture、AOMaterialMaskTexture、ShadowMapTexture与低分辨率系数贴图。
贴图渲染资源合并中,判断不同几何体使用的贴图集合是否一致,优化判断效率。创建FLightmapClusterResourceInput类代表贴图集合,并统计所有集合用于判断几何体是否使用相同贴图集合。
运行时光照贴图传递到Shader流程包括UE4几何体渲染架构窥探、光照信息存储、赋值LCI与生成渲染批次、绑定Shader。FLODInfo类存储光照信息,FMeshBatchElement中设置LCI字段,FBasePassMeshProcessor绑定贴图集合到Shader。在Shader代码中访问LightmapResourceCluster变量访问贴图集合中的光照贴图。
UE4通过Swarm分布式框架、Lightmass光照系统与优化的贴图合并与传递流程,实现了高效、实时的光照计算与渲染。
以上内容详细介绍了UE4引擎中光照贴图从烘焙到渲染的完整流程,包括分布式工具、数据合并、贴图存储与Shader访问,实现了高性能的光照计算与渲染。