Sign in

Brian Karis

@briankaris.bsky.social
1.8K followers 141 following 102 posts

Engineering Fellow at Epic Games. Author of Nanite.

PostsRepliesMedia
Reposted by Brian Karis
Anis @auzaiffe.bsky.social · 26/09/2026
I fell into the #unity3d #HDRP codebase again. Oops. I wrote a post about how the water currents were done at the time: rivers, cascades and vortices on an FFT ocean, and no feature written for any of them. If you are curious: anisb.github.io/2026/09/26/c...
13314
Brian Karis @briankaris.bsky.social · 28/08/2026
Don’t get your hopes up. They notoriously never publish.
130
Reposted by Brian Karis
Adam Marrs @acmarrs.bsky.social · 26/08/2026
I’m stoked this is finally revealed! Gears of War: E-Day is a graphics milestone - the world’s first game to ray trace Nanite in real-time, delivered with RTX Mega Geometry. Huge thanks to The Coalition for the vision and collaboration that made this result possible. youtu.be/yeMtCvxBiIM?...
youtu.be
RTX: Inside the Game | Gears of War: E-Day with DLSS 4.5 and RTX Mega Geometry
YouTube video by NVIDIA GeForce
1185
Brian Karis @briankaris.bsky.social · 04/08/2026
Great to see these dropping quickly! Was a good year. Please pdfs with notes too before the final call.
000
Reposted by Brian Karis
Stephen Hill @selfshadow.com · 13/07/2026
EGSR 2026 recordings: www.youtube.com/@egsr2026/pl... (Also linked from the programme: egsr2026.inria.fr/programme/)
02118
Reposted by Brian Karis
Yining Karl Li @yiningkarlli.bsky.social · 02/07/2026
In this thread: three cool rendering papers that DisneyResearch|Studios is publishing at EGSR this week. The authors of these papers are peers that I get the privilege of working closely with frequently, and these are projects I've been excited to watch develop! (1/17)
13412
Reposted by Brian Karis
Scott Anderson @impossible.bsky.social · 07/06/2026
These posts are coming up a lot on Bluesky now, and I think you can save a lot of time by assuming all AAA games, and games made by large corporations in general, use generative AI unless they explicitly state they do not
4233
Reposted by Brian Karis
Rune Skovbo Johansen @runevision.bsky.social · 30/03/2026
My erosion filter is out! Video, blog post, and shader source. It emulates erosion without simulation, so it's fast, GPU friendly, and trivial to generate in chunks. Explainer video: www.youtube.com/watch?v=r4V2... Companion blog post: blog.runevision.com/2026/03/fast... #ProcGen #vfx #GameDev
17557169
Brian Karis @briankaris.bsky.social · 23/03/2026
YouTube just barely surpassed Disney to become the largest media company in the world last year. They are the largest video streaming service in terms of hours watched. And yes, streaming video has resulted in 1000s of theaters closing.
160
Brian Karis @briankaris.bsky.social · 15/03/2026
2 more Nanite Tessellation posts are up. graphicrants.blogspot.com/2026/02/nani..., graphicrants.blogspot.com/2026/03/vari...
graphicrants.blogspot.com
Nanite + Reyes
Let's get into the details of how this integrates with Nanite. We aren’t replacing anything Nanite already does. Nothing is changed about th...
27929
Reposted by Brian Karis
Freya Holmér @freya.bsky.social · 27/02/2026
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
1961268
Reposted by Brian Karis
Björn Ottosson - making Island Architect @bottosson.bsky.social · 11/02/2026
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
18110
Brian Karis @briankaris.bsky.social · 02/02/2026
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.
160
Brian Karis @briankaris.bsky.social · 02/02/2026
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.”
1110
Brian Karis @briankaris.bsky.social · 02/02/2026
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...
graphicrants.blogspot.com
Nanite Tessellation
Nanite Tessellation, aka Nanite Dynamic Tessellation, aka Nanite Dynamic Displacement was the next major feature I worked on after Nanite it...
116250
Reposted by Brian Karis
mmalex @mmalex.bsky.social · 01/11/2025
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?...
youtu.be
Game Architectures with Alex Evans and Anton Mikhailov
YouTube video by Wookash Podcast
34718
Brian Karis @briankaris.bsky.social · 26/10/2025
@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.
3231
Reposted by Brian Karis
Aaron Hertzmann @aaronhertzmann.com · 24/10/2025
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/
youtube.com
Can Computers Create Art? Lessons from art history
YouTube video by Aaron Hertzmann
34815
Reposted by Brian Karis
themaister.bsky.social @themaister.bsky.social · 05/10/2025
New blog post: Outlining an alternative path to learn graphics programming. themaister.net/blog/2025/10...
themaister.net
A case for learning GPU programming with a compute-first mindset – Maister's Graphics Adventures
03310
Reposted by Brian Karis
Arseny Kapoulkine @zeux.io · 30/09/2025
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...
116655
Reposted by Brian Karis
Dylan Browne @dylanbrowne.bsky.social · 24/07/2025
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
67114
Reposted by Brian Karis
c0de517e.bsky.social @c0de517e.bsky.social · 14/07/2025
My talk is out! c0de517e.com/023_hpg.htm
c0de517e.com
Hallucinations on the future of real-time rendering.
Angelo Pesce's homepage & blog on computers, graphics and other things.
0146
Reposted by Brian Karis
Christoph Peters @momentsingraphics.bsky.social · 21/06/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.
diglib.eg.org
44-Issue 8
High-Performance Graphics 2025
15224
Reposted by Brian Karis
Justin Solomon @justinmsolomon.bsky.social · 18/06/2025
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.
1238
Reposted by Brian Karis
Matthew Wilde @skilful.bsky.social · 13/06/2025
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.
424755
Reposted by Brian Karis
Stephen Hill @selfshadow.com · 10/06/2025
The SIGGRAPH Physically Based Shading course is back this year: blog.selfshadow.com/publications...
blog.selfshadow.com
SIGGRAPH 2025 Course: Physically Based Shading in Theory and Practice
18030
Brian Karis @briankaris.bsky.social · 05/06/2025
Yes but not ready to share anything yet
140
Brian Karis @briankaris.bsky.social · 05/06/2025
Thanks Sean!
000
Brian Karis @briankaris.bsky.social · 04/06/2025
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).
0281
Brian Karis @briankaris.bsky.social · 04/06/2025
More rendering tech details on how the Witcher 4 UE5 demo works youtu.be/0X6amtHcrUE?...
youtu.be
Livestream 2, Day 2 | Unreal Fest 2025
YouTube video by Unreal Engine
1385
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
2180
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
3375
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
030
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
110
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
040
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
060
Brian Karis @briankaris.bsky.social · 04/06/2025
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.
020
Brian Karis @briankaris.bsky.social · 04/06/2025
Agreed
000
Brian Karis @briankaris.bsky.social · 04/06/2025
5.7 for first version and then probably more significant improvements for 5.8.
010
Reposted by Brian Karis
Yining Karl Li @yiningkarlli.bsky.social · 03/06/2025
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...
youtube.com
The Witcher 4 Unreal Engine 5 Tech Demo 4K | State of Unreal | Unreal Fest Orlando
YouTube video by Unreal Engine
0213
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
020
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
140
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
citeseerx.ist.psu.edu
040
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
060
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
2221
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
2220
Brian Karis @briankaris.bsky.social · 03/06/2025
Now with 4k 60hz video youtu.be/AjikvaR0i34?...
youtube.com
State of Unreal 2025 Official 4K Livestream I Unreal Fest Orlando
YouTube video by Unreal Engine
091
Brian Karis @briankaris.bsky.social · 03/06/2025
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.
1361
Brian Karis @briankaris.bsky.social · 03/06/2025
Lastly we need to animate them for wind. Doing expensive wind logic at super high geometric density will be too expensive. Need to decouple the frequency of animation from geometry. Skeletons are a perfect place for it, because they also offer a physical hierarchy for relative movement.
4190
Brian Karis @briankaris.bsky.social · 03/06/2025
Scatter is terrible for overdraw and coarse occlusion culling doesn't work when geo is filled with holes. Needed to shift some from scatter to gather. Per pixel early depth test on the brick trace work does that.
2170