Build The Battlefield!
Strategy Maxed Out
Giant Space Battles
Here are my settings to speed Visual Studio and in particular IntelliSense up for C++ development. They should make working with C++ in large codebases more responsive and faster (I’m using them with the Unreal Engine 4 source build). Note: Automatic Precompiled Header Cache Quota is the amount of space you let VS use up […]
For the past 3 months I’ve been busy full time with making a giant army renderer from the ground up in UE4 and it’s finally finished. It can render up to a million units 3x faster than stock Unreal Engine and is hopefully using many of the latest & greatest DirectX 12 tricks: single draw […]
The DirectX 12 compiler DXC has received a PR about a month ago that adds template support to HLSL. So you can now do this: Which is great since that’s all going to happen at compile time and so the compiler will be able to unroll the loop correctly. This, coupled with UE4’s shader permutation […]
Computes everything in compute shaders on the GPU, including LODs and frustum culling. No GPU-CPU stalls anymore, it’s faster than HISM or ISM. Since around 4.22 Epic has exposed indirect rendering via the RHI mostly because of Niagara, but this is a custom rendering component so there’s no overhead and is therefore faster where it […]
Implemented merge instancing in UE4 to render different meshes in a single draw call. Large meshes are multiple instances. Can render an entire level in a single draw call. Based on an older SIGGRAPH paper by Emil Persson of Epic Games. All the colored parts in the video below are one single draw call!
Fully deterministic unit movement integrated with custom P2P netcode. Features steering, unit clustering, 2D collision resolution, movement lanes, group splitting, regrouping on arrival and navmesh pathfinding. Animations are 100% done on the GPU to free up CPU capacity. Performance is 1.5ms per frame for 500 units moving concurrently, measured on an Intel i7-4770k in a […]