Case study

librw: a re-implementation of the RenderWare Graphics engine

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.

Requirements and limitations

  • 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; the reviewed files do not describe how RenderWare was analysed.
  • 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; this collection built or ran nothing.
  • 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. The reviewed sources establish no REA or AI use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · aap/librw · Revision 18532c2
  2. ARCHITECTURE.MD GitHub · aap/librw · Revision 18532c2
  3. TODO GitHub · aap/librw · Revision 18532c2
  4. CMakeLists.txt GitHub · aap/librw · Revision 18532c2
  5. README.cmake GitHub · aap/librw · Revision 18532c2
  6. premake5.lua GitHub · aap/librw · Revision 18532c2
  7. .github/workflows/build.yml GitHub · aap/librw · Revision 18532c2
  8. src GitHub · aap/librw · Revision 18532c2
  9. tools GitHub · aap/librw · Revision 18532c2
  10. skeleton/imgui GitHub · aap/librw · Revision 18532c2
  11. LICENSE GitHub · aap/librw · Revision 18532c2