{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/ARCHITECTURE.MD",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/TODO",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/CMakeLists.txt",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/README.cmake",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/premake5.lua",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/.github/workflows/build.yml",
    "https://github.com/aap/librw/tree/18532c2e13efbc1aa43f0b00b4459831f9414de0/src",
    "https://github.com/aap/librw/tree/18532c2e13efbc1aa43f0b00b4459831f9414de0/tools",
    "https://github.com/aap/librw/tree/18532c2e13efbc1aa43f0b00b4459831f9414de0/skeleton/imgui",
    "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/LICENSE"
  ],
  "category": "reconstruction-cases",
  "description_en": "Re-implements a large part of the RenderWare Graphics middleware API as a portable C++ library that reads and writes its DFF model and TXD texture files for PS2, D3D8, D3D9 and Xbox and is meant to convert them between platforms. Direct3D 9 and OpenGL backends render the scenes, while PS2 rendering works only as a test. README names rendering GTA as its use; BSP world files are not supported.",
  "description_zh": "以可移植的 C++ 库重新实现 RenderWare Graphics 中间件 API 的大部分内容，可读写其 PS2、D3D8、D3D9 和 Xbox 平台的 DFF 模型与 TXD 纹理文件，并旨在于各平台格式之间转换。场景由 Direct3D 9 和 OpenGL 后端渲染，PS2 渲染仅作为测试可用。README 称其用途是渲染 GTA 游戏；BSP 世界文件尚不支持。",
  "entry_url": "https://awesomerea.org/resources/librw-renderware-reimplementation-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/librw-renderware-reimplementation-case/",
  "evidence_url": "https://github.com/aap/librw/blob/18532c2e13efbc1aa43f0b00b4459831f9414de0/README.md",
  "group": "cases",
  "id": "librw-renderware-reimplementation-case",
  "json_url": "https://awesomerea.org/resources/librw-renderware-reimplementation-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/librw-renderware-reimplementation-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/librw-renderware-reimplementation-case/index.md",
  "name": "librw: a re-implementation of the RenderWare Graphics engine",
  "name_zh": "librw：RenderWare Graphics 引擎的重新实现",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "The reviewed master snapshot dates from 2026-08-26; CMake reports version 0.0.1 and the repository has no tagged releases. README calls librw a re-implementation of RenderWare graphics, “or a good part of it”: not all pre-instanced PS2 DFFs load and BSP is unsupported, and TODO lists morphing, several pipelines and PS2 rendering as open. ARCHITECTURE.MD says some design decisions follow the original RW and others are the author’s own.",
    "As a library, librw needs no particular original files: applications hand it RenderWare DFF models and TXD texture dictionaries, such as those of the games they render. The repository ships no game data, but its demo tools include four small DFF sample models whose provenance it does not state.",
    "Builds use premake5 (a premake5.exe is committed) or CMake 3.8+, selecting a NULL, GL3 or D3D9 platform and, for GL3 (OpenGL 2.1+ or ES 2.0+), GLFW, SDL2 or SDL3 for windowing. premake targets Windows x86/amd64, Linux x86/amd64/ARM and PS2, and the CMake files add PS2 and Nintendo Switch toolchains; a skeleton application framework with bundled Dear ImGui accompanies the demo tools.",
    "The GitHub Actions workflow builds and packages 14 configurations: Windows D3D9, GL3 and null, macOS and Ubuntu GL3 and null, PS2 in a ps2dev container and Switch in a devkitPro container. It runs no tests, and the repository has no test suite or comparison with original RenderWare output.",
    "LICENSE applies MIT to librw; the bundled Dear ImGui and ImGuizmo code carries its own licence files, and RenderWare itself and any game assets keep their owners’ rights."
  ],
  "requirements_zh": [
    "所审阅的 master 快照日期为 2026-08-26；CMake 标注版本为 0.0.1，仓库没有带标签的发行版。README 称 librw 是 RenderWare graphics 的重新实现，“或至少是其中很大一部分”：并非所有预实例化的 PS2 DFF 都能载入，BSP 完全不支持，TODO 中仍列着变形动画、若干渲染管线和 PS2 渲染等待办项。ARCHITECTURE.MD 说明部分设计沿用原版 RW，部分出自作者本人。",
    "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 本身及任何游戏素材的权利归其所有者。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/aap/librw",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
