案例
librw:RenderWare Graphics 引擎的重新实现
以可移植的 C++ 库重新实现 RenderWare Graphics 中间件 API 的大部分内容,可读写其 PS2、D3D8、D3D9 和 Xbox 平台的 DFF 模型与 TXD 纹理文件,并旨在于各平台格式之间转换。场景由 Direct3D 9 和 OpenGL 后端渲染,PS2 渲染仅作为测试可用。README 称其用途是渲染 GTA 游戏;BSP 世界文件尚不支持。
使用条件与局限
- 所审阅的 master 快照日期为 2026-08-26;CMake 标注版本为 0.0.1,仓库没有带标签的发行版。README 称 librw 是 RenderWare graphics 的重新实现,“或至少是其中很大一部分”:并非所有预实例化的 PS2 DFF 都能载入,BSP 完全不支持,TODO 中仍列着变形动画、若干渲染管线和 PS2 渲染等待办项。ARCHITECTURE.MD 说明部分设计沿用原版 RW,部分出自作者本人;所审文件未说明如何分析 RenderWare。
- librw 作为库,本身不需要特定的原版文件:应用程序向它提供 RenderWare 的 DFF 模型和 TXD 纹理字典,例如所渲染游戏中的这些文件。仓库不附带游戏数据,但其演示工具中包含四个小型 DFF 示例模型,仓库未说明其来源。
- 可用 premake5(仓库内提交了 premake5.exe)或 CMake 3.8+ 构建,选择 NULL、GL3 或 D3D9 平台;GL3(OpenGL 2.1+ 或 ES 2.0+)可选用 GLFW、SDL2 或 SDL3 处理窗口。premake 面向 Windows x86/amd64、Linux x86/amd64/ARM 以及 PS2,CMake 文件另提供 PS2 与 Nintendo Switch 工具链;演示工具附带一个内置 Dear ImGui 的 skeleton 应用框架。
- GitHub Actions 工作流构建并打包 14 种配置:Windows 的 D3D9、GL3 与 null,macOS 和 Ubuntu 的 GL3 与 null,在 ps2dev 容器中构建的 PS2,以及在 devkitPro 容器中构建的 Switch。工作流不运行测试,仓库也没有测试套件或与原版 RenderWare 输出的对比;本合集未构建或运行任何内容。
- LICENSE 对 librw 采用 MIT 许可;内置的 Dear ImGui 与 ImGuizmo 代码附有各自的许可文件,RenderWare 本身及任何游戏素材的权利归其所有者。所审来源未确立 REA 或 AI 使用。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · aap/librw · 修订 18532c2
- ARCHITECTURE.MD GitHub · aap/librw · 修订 18532c2
- TODO GitHub · aap/librw · 修订 18532c2
- CMakeLists.txt GitHub · aap/librw · 修订 18532c2
- README.cmake GitHub · aap/librw · 修订 18532c2
- premake5.lua GitHub · aap/librw · 修订 18532c2
- .github/workflows/build.yml GitHub · aap/librw · 修订 18532c2
- src GitHub · aap/librw · 修订 18532c2
- tools GitHub · aap/librw · 修订 18532c2
- skeleton/imgui GitHub · aap/librw · 修订 18532c2
- LICENSE GitHub · aap/librw · 修订 18532c2