Rendering and models
W4 Omicron and wgpu
The engine draws with W4 Omicron, our own renderer in Rust, through wgpu, which talks to Vulkan, Direct3D 12 and Metal with one code base. The same renderer runs inside the editor's 3D view and inside the game, so what you see while you build is the game's own picture, not an approximation.
Because the renderer is new, it does not have to work around graphics cards from the early 2000s. Shadows are real shadow maps and the ground blends smoothly between tiles.
Thousands of animated units
Warcraft III animates units on the CPU, which limits how many a map can hold. W4 skins and animates models on the GPU, blends between animations, picks a level of detail by distance and draws copies of a model in instanced batches. The goal is crowds that were not practical before: armies, swarms, a city full of people.
Where it stands: the GPU path is built, and the stress map in the repository runs hundreds of animated units. The large numbers are still being measured on the Windows PC. The performance table in the project plan says what is measured and what is not.
Warcraft III models just work
W4 reads MDX (version 800, which is what the game's own models use) and MDL text models, and BLP textures, with:
- every chunk of the format parsed (all of the game's 3,209 archive models load),
- animation with the game's rotation blending, geoset and texture animation,
- team colour on the parts the model marks,
- particle emitters and ribbons on units, with a lower quality setting that draws half,
- the game's blending filters and transparency.
So the models you already own, or have collected over the years, work in W4 as they are. There is no conversion step. The editor imports from your copy of the game with one click. Nothing of the game ships with W4.
Not yet covered: model particles of the newer kind, event objects, attachments as points, lights and cameras inside models, and Reforged's newer model version. They are read where possible and drawn as support lands; the engine page lists them.
Shaders a map can change
The look of units and terrain is a WESL shader (WGSL with imports) that a map can replace with its own file. The editor reloads it live. Warcraft III's pipeline is fixed: a map cannot change how things are lit or drawn. See the shaders tutorial.
Cross-platform from the start
wgpu runs on Windows, macOS and Linux. The Windows build is what is published during the alpha; the code is kept cross-platform, with platform-specific parts behind compile-time switches.