Renderware Source Code [2025]
A Helpful Guide to the RenderWare Source Code
5. Geometry & Vertex Pipeline
RpGeometry (in rpworld/geometry.h) holds:
- Vertex positions, normals, colors, UVs (interleaved or planar).
- Triangle strips/fans/lists.
- Material list (
RpMaterial with texture + flags).
Performance note: RW uses pre-lit vertices heavily – lighting is often calculated offline in 3ds Max/Maya and baked into vertex colors. This was a PS2-era optimization to avoid per-vertex lighting on the VU units. renderware source code
7. Practical Steps for a Developer
If you want to build a RenderWare-like engine: A Helpful Guide to the RenderWare Source Code
5
- Get the legal SDK – install RW 3.7, compile the examples.
- Read
rwd3d8.h / rwps2.h – see how the platform APIs are wrapped.
- Study OpenRW’s source – see a modern C++ implementation of the same concepts.
- Implement the chunk streaming format – the spec is in the SDK docs.
- Build your own plugin system – RW’s design is similar to COM but simpler.
Architecture and components
- Core renderer: state-based, fixed-function and later programmable pipeline support (shader abstraction).
- Scene graph / scene management: hierarchical object organization, culling, and level-of-detail (LOD) handling.
- Geometry & mesh formats: support for indexed meshes, skins, and morph targets.
- Materials & texturing: material system with support for multi-texturing, environment maps, and simple material blending.
- Animation system: skeletal animation, keyframe animation, and blending utilities.
- Resource management: streaming and memory management tailored for consoles with tight limits.
- Tools and pipeline: exporters/plugins for 3D modeling packages (e.g., 3ds Max, Maya) and conversion utilities to engine-friendly formats.
- Platform abstraction layer: encapsulated APIs for rendering, input, and platform-specific optimizations.
What the Leak Contained
- Full source build chain: The ability to compile
rwcore.lib and rwengine.lib from scratch.
- Plugin source code: The source for the Physics plugin, the AI paths, the Skin (skeletal animation) plugin, and the MP (multiplayer) framework.
- Tool source code: The actual code for Collision Maker, Clump Viewer, and the Texture Dictionary generator.
- PS2 VU microcode: The assembly written for the vector units. This was the black magic. Seeing how Criterion optimized the particle system and lighting on VU1 was an educational goldmine.