Brian Karis

Brian Karis

@briankaris.bsky.social

Engineering Fellow at Epic Games. Author of Nanite.

1,721 Followers 140 Following 98 Posts Joined Oct 2024
1 week ago

hearing AI company CEOs excitedly telling you how "we can now all finally become managers" without blinking makes me want to pack my bags and move to the moon

607 67 20 4
1 month ago
Video thumbnail

I've been working with Spherical Gaussians recently as a representation for irradiance in realtime raytracing.

Ended up deriving quite a few new approximations relating to SGs and diffuse lighting. Ended up with something both cheap and accurate. Check it out:

www.shadertoy.com/view/WX3fRB

78 10 1 1
1 month ago

I could skip all the copious amount of visual aids slides demand as well as the hours of practicing speaking it. In the end I’m not sure this turned out better in either way, just different. I’m curious to hear your feedback.

5 0 1 0
1 month ago

After doing numerous talks I decided a written medium the viewer could work through in their own time could better convey the low level details I tend to want to get into. I also imagined it would be less work following “I didn't have time to write a short letter, so I wrote a long one instead.”

10 0 1 0
1 month ago
Preview
Nanite Tessellation Nanite Tessellation, aka Nanite Dynamic Tessellation, aka Nanite Dynamic Displacement was the next major feature I worked on after Nanite it...

I'm finally writing up how Nanite Tessellation works. The first few blogs posts are up. More will be coming.
graphicrants.blogspot.com/2026/02/nani...

160 51 1 1
4 months ago
YouTube
Game Architectures with Alex Evans and Anton Mikhailov YouTube video by Wookash Podcast

i had a chat with lukasz and @antovsky about gamedev and stuff, if youre into that sort of thing! the middle hour is the juiciest but its all fantastic, ofc ;) youtu.be/mFBmoCv5EcQ?...

47 18 3 2
4 months ago

@leepetty.bsky.social @p1xelcoder.bsky.social @ianmcque.bsky.social Keeper is an artistic and technical masterpiece! Bravo! Utterly unique in every way. Gobsmacked.

Never would I have guessed that a Doublefine game would rise to the top of my list as a showcase of #ue5 tech.

23 1 3 0
4 months ago
YouTube
Can Computers Create Art? Lessons from art history YouTube video by Aaron Hertzmann

Here's a recording of my talk on the role of computers in making art, including so-called "AI", which was presented as the opening keynote of SIGGRAPH 2025, incorporating lessons from the history of computer graphics, photography, modern art, and philosophy of art. www.youtube.com/watch?v=c2YR... 1/

49 16 3 1
5 months ago
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...

32 10 0 0
5 months ago
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...

167 55 1 4
7 months ago
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

71 14 6 0
7 months ago
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

15 6 0 0
8 months ago
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.

52 24 1 0
8 months ago

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.

23 8 1 2
8 months ago

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.

239 53 4 0
9 months ago
SIGGRAPH 2025 Course: Physically Based Shading in Theory and Practice

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

81 30 1 0
9 months ago

Yes but not ready to share anything yet

4 0 1 0
9 months ago

Thanks Sean!

0 0 0 0
9 months ago
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).

28 1 0 0
9 months ago
YouTube
Livestream 2, Day 2 | Unreal Fest 2025 YouTube video by Unreal Engine

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

38 5 1 0
9 months ago

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.

18 0 2 0
9 months ago

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.

37 5 3 0
9 months ago

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.

3 0 0 0
9 months ago

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.

1 0 1 0
9 months ago

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.

4 0 0 0
9 months ago
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.

6 0 0 1
9 months ago

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.

2 0 0 0
9 months ago

Agreed

0 0 0 0
9 months ago

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

1 0 0 0
9 months ago
YouTube
The Witcher 4 Unreal Engine 5 Tech Demo 4K | State of Unreal | Unreal Fest Orlando YouTube video by Unreal Engine

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...

21 3 0 0