这个项目能做什么
Spartan Engine 是一个个人研发的游戏引擎,由一位工程师在十多年间独立开发。它明确被描述为非商业产品,没有路线图承诺或支持队列。
渲染架构的核心原则是 GPU 拥有数据。几何体、材质、纹理、灯光、变换和 AABB 都存放在持久、全局可访问的缓冲区中。绘制路径为零绑定,每次绘制的数据放在单个无绑定存储缓冲区中,推送常量只携带一个索引。单个全局顶点和索引缓冲区覆盖所有几何体,使用顶点拉取绕过输入装配器,并由光栅化和光线追踪共享。GPU 驱动的间接渲染执行逐 meshlet 的视锥体、Hi-Z 遮挡和背面锥体剔除,CPU 每趟只发出一次 DrawIndexedIndirectCount。Meshlet 聚类使用 meshoptimizer,不依赖 mesh shader。通用 HLSL 同时为 Vulkan(SPIR-V)和 DirectX 12 编译。GPU 侧资产处理在加载时处理 mip 生成和纹理压缩。渲染采用统一延迟,不透明和透明表面共享相同的 BSDF 和路径。
光照和全局光照包括 ReSTIR 路径追踪,通过时空蓄水池重采样实现实时多次反弹 GI;使用 GPU 构建的对数 Z 网格的聚类延迟着色;通过光线查询实现硬件光线追踪反射和阴影;大气散射;基于图像的照明与弯曲法线;体积云;froxel 体积雾;使用 Tessendorf 频谱的 FFT 海洋;屏幕空间阴影;XeGTAO 环境光遮蔽;以及阴影贴图图集。
性能特性包括可变速率着色、动态分辨率缩放、TAAU、NVIDIA DLSS、Intel XeSS、FXAA 和自定义 GPU 崩溃面包屑。相机和后处理涵盖基于物理的相机,具有自动曝光和物理光照单位,ACES/AgX/Gran Turismo 7 色调映射器,HDR10 输出,泛光,运动模糊,景深,色差,胶片颗粒和锐化。
车辆动力学模拟在 PhysX 固定时间步循环内以 200Hz 运行,具有 Pacejka MF 5.2 轮胎、悬架建模、重量转移、传动系统、热制动器、空气动力学、阿克曼转向、辅助系统,以及带触觉反馈的控制器/方向盘输入。
其他引擎系统包括 GPU 驱动粒子、带蒙皮和反向运动学的骨骼动画、PhysX 物理、通过 Sol2 的 Lua 5.4 脚本、3D 定位音频、带 XML 序列化的基于组件的实体系统、程序化样条道路、相机剪辑序列器、硬件感知线程池、进行中的 OpenXR VR、与 RenderDoc 集成的性能分析时间线、支持多种模型、图像和字体格式的资产导入,以及基于 ImGui 的编辑器。
该仓库包含默认的物理启用世界、构建指南和 Lua 脚本指南。许可证允许免费非商业使用、修改和再分发,需注明出处,而商业使用需要事先书面许可和协商条款。
评论
0 评分人数达到10人后显示
登录后参与讨论。