Giant Armies

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 […]

Read More

HLSL template support in UE4

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 […]

Read More

Instanced Indirect Rendering in UE4

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 […]

Read More

Merge-instancing in UE4

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!

Read More

Improve linking times by an order of magnitude in UE4

The following requires a source-built Unreal Engine 4, launcher builds won’t work. Ever wanted to improve linking times by x10? What you need is incremental linking! Incremental linking as the name suggests only links files that have changed since the last time linking was done, which in my particular case means that 2766 source files […]

Read More

Script to build everything in Unreal Engine 4

There comes a time in every self-respecting game developer’s life when they have to rebuild the entire engine along with the game they’re making. This usually happens when installing the latest version of Visual Studio that came with compiler improvements to MSVC. What you typically want to do is ensure that everything gets recompiled properly […]

Read More