Brian Karis's Avatar

Brian Karis

@briankaris.bsky.social

Engineering Fellow at Epic Games. Author of Nanite.

1,639 Followers  |  137 Following  |  94 Posts  |  Joined: 24.10.2024  |  2.1739

Latest posts by briankaris.bsky.social on Bluesky

A case for learning GPU programming with a compute-first mindset – Maister's Graphics Adventures

New blog post: Outlining an alternative path to learn graphics programming.

themaister.net/blog/2025/10...

05.10.2025 12:58 β€” πŸ‘ 32    πŸ” 10    πŸ’¬ 0    πŸ“Œ 0
Post image

New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Reposts welcome!

zeux.io/2025/09/30/b...

30.09.2025 17:40 β€” πŸ‘ 161    πŸ” 54    πŸ’¬ 1    πŸ“Œ 4
Video thumbnail

The new Nanite Foliage Voxel representation is an absolute game changer for distant environments, density preservation is pretty much perfect.
5 min test scene i whipped up here.
~1 million 20 million poly trees scattered with PCG
#UE5 #UnrealEngine #GameDev #EnvironmentArt #RealTime

24.07.2025 09:01 β€” πŸ‘ 72    πŸ” 14    πŸ’¬ 6    πŸ“Œ 0
Hallucinations on the future of real-time rendering. Angelo Pesce's homepage & blog on computers, graphics and other things.

My talk is out! c0de517e.com/023_hpg.htm

14.07.2025 18:36 β€” πŸ‘ 15    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0
44-Issue 8 High-Performance Graphics 2025

All HPG 2025 papers are now available on the EG digital library.
CGF papers: diglib.eg.org/handle/10.23...
Conference papers: diglib.eg.org/handle/10.23...
It has been a huge honor to act as HPG papers chair and guest editor and I look forward to an exciting program in Copenhagen.

21.06.2025 08:12 β€” πŸ‘ 52    πŸ” 24    πŸ’¬ 1    πŸ“Œ 0

I signed and encourage colleagues to do the same.

Venue selection is fraught. Inevitably attendees will encounter visa issues, distance, expense, local politics, and other challenges. This venue, however, is simply unsafe for LGBTQ+ researchers, and the leadership's defensiveness is unacceptable.

18.06.2025 20:47 β€” πŸ‘ 23    πŸ” 8    πŸ’¬ 1    πŸ“Œ 2

This is a great thread @hillsguy.bsky.social, I'll add a bit more context here for anyone interested.

Yes there's no fancy sim - it just uses a water interaction buffer as a target for the particle system rendering, so we could use the power of particle system we already have.

13.06.2025 21:06 β€” πŸ‘ 235    πŸ” 52    πŸ’¬ 4    πŸ“Œ 0
SIGGRAPH 2025 Course: Physically Based Shading in Theory and Practice

The SIGGRAPH Physically Based Shading course is back this year: blog.selfshadow.com/publications...

10.06.2025 15:19 β€” πŸ‘ 81    πŸ” 30    πŸ’¬ 1    πŸ“Œ 0

Yes but not ready to share anything yet

05.06.2025 14:45 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thanks Sean!

04.06.2025 23:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Includes this great video showing how the Nanite Foliage seamlessly LODs. No popping. No harsh transitions. Good appearance preservation (although this light direction is overly generous).

04.06.2025 22:47 β€” πŸ‘ 27    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Livestream 2, Day 2 | Unreal Fest 2025
YouTube video by Unreal Engine Livestream 2, Day 2 | Unreal Fest 2025

More rendering tech details on how the Witcher 4 UE5 demo works youtu.be/0X6amtHcrUE?...

04.06.2025 22:39 β€” πŸ‘ 39    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0

1 minor detail, it can switch to voxels within the twigs themselves as they get further as well. A Nanite cluster can now be either 128 triangles or 128 voxel bricks. That visualization only showed 5 steps but there are as many as it takes to halve the count until there is 1 root cluster.

04.06.2025 22:37 β€” πŸ‘ 18    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Great video from DF!

Really good explanation from @dachsjaeger.bsky.social about how foliage has been done in the past, the problems with them, and why this new approach was needed.

04.06.2025 22:33 β€” πŸ‘ 37    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0

I’ve wondered the same. We haven’t yet explored any alternative uses for these new tools yet. It probably can’t beat the best hand modeled hair cards but it seems like it could be great as an auto generated LOD for spline based grooms.

04.06.2025 14:52 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yes. This has been one of the most challenging parts of the problem. If opacity per voxel is too expensive, voxels can either be 100% covered or not, which do I fill? And determine that relatively fast since the Nanite build for a mesh needs to take <1min.

04.06.2025 14:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

A cluster in Nanite typically is up to 128 triangles. Voxel clusters are 128 4x4x4 bricks. Brick positions are fixed point so no precision problems.

Really though gaps aren’t a key concern for voxels since they are used primarily for subpixel features which result in partial coverage.

04.06.2025 14:28 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Correct. 3 separate features: assemblies, skeletal meshes, and voxels. None of which is strictly foliage. Each can be used without the other. Can make assemblies and keep as meshes, like the repeated elements on this shield from the original UE5 demo. Or voxelize a single Nanite mesh.

04.06.2025 00:54 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1

Sure. We didn't get time to do the wind animation as an actual physics sim but want to in the future. AC Shadows wind looks amazing and we aren't there yet.

Breaking off branches could be a problem since Nanite assembly HLOD needs to merge things. They aren't individual branches in the distance.

03.06.2025 23:19 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Agreed

03.06.2025 23:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

5.7 for first version and then probably more significant improvements for 5.8.

03.06.2025 23:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The Witcher 4 Unreal Engine 5 Tech Demo 4K | State of Unreal | Unreal Fest Orlando
YouTube video by Unreal Engine The Witcher 4 Unreal Engine 5 Tech Demo 4K | State of Unreal | Unreal Fest Orlando

The new Witcher 4 UE5.6 tech demo that was shown today is the most amazing realtime tech demo I've seen yet. Nanite Foliage is particularly impressive- I've always liked the idea of voxel-based LOD and this is the best implementation I've ever seen!

www.youtube.com/watch?v=aorR...

03.06.2025 21:41 β€” πŸ‘ 21    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

We have a USD (which supports nested instancing) importer. CDPR had their own custom speedtree exporter/importer using our Nanite Assembly API for these assets. We have tooling in the works that will help with authoring in the future. Can't talk about it yet.

03.06.2025 21:26 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not fixed. No voxel alignment between any cluster, including parent/child. Like the triangle clusters it targets a halving of data. Half the triangles is easy, just collapse until hit. Voxels need a search since voxelization needs to be done from scratch for each size attempt.

03.06.2025 21:21 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Using a simplified version of this citeseerx.ist.psu.edu/document?rep.... Basically compute the extents of deformation using only the extents of the skinning data contained within a node. This gets too expensive once the bone count within a node gets high at which point we fallback to the object.

03.06.2025 21:17 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yep, we'll get to it. Still need to get the Nanite Tessellation details published. That'll probably come first (half finished writing it). I think this one needs a bit more time in the oven (~6 months) before we'd be ready to speak to all the details. There's few things that are still pretty dumb.

03.06.2025 20:07 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

All this Nanite Foliage work is still in progress. The current state will make it to UE5 main shortly. There is still a good amount of work left to do to make it even better. Apply better to more species and use cases, improve rendering and simplification quality, physical wind simulation.

03.06.2025 19:57 β€” πŸ‘ 24    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

The last little bit I've personally been working on in the last 2 months to improve the quality of the shading on voxels is an analytic microflake SGGX shading model for better appearance preservation.

03.06.2025 19:49 β€” πŸ‘ 23    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
State of Unreal 2025 Official 4K Livestream I Unreal Fest Orlando
YouTube video by Unreal Engine State of Unreal 2025 Official 4K Livestream I Unreal Fest Orlando

Now with 4k 60hz video
youtu.be/AjikvaR0i34?...

03.06.2025 19:46 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Put these all together and we maintained or improved on the rendering quality compared to our previous Electric Dreams demo (last image), except that was 30hz on a RTX 4090 and this was 60hz on a base PS5.

03.06.2025 19:43 β€” πŸ‘ 37    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

@briankaris is following 20 prominent accounts