Nico May's Avatar

Nico May

@gfxnico.bsky.social

Graphics Programming @ Xbox

1,386 Followers  |  689 Following  |  378 Posts  |  Joined: 25.07.2023  |  2.3421

Latest posts by gfxnico.bsky.social on Bluesky

πŸ‡ meshoptimizer v1.0 Mesh optimization library that makes meshes smaller and faster to render

After nine years of development, meshoptimizer has reached its first major version, 1.0!

This release focuses on improvements in clusterization and simplification as well as stabilization. Here's a release announcement with more details on past, present and future; please RT!

meshoptimizer.org/v1

08.12.2025 16:56 β€” πŸ‘ 185    πŸ” 52    πŸ’¬ 6    πŸ“Œ 1

All it takes is commercial software -> company folds -> crowdfund open sourcing -> 20-25 years of improvements -> profit!

08.12.2025 05:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

The paper has a later chart where β€œgraphics” is bundled into β€œImageSci”

05.12.2025 20:25 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Looks kinda like a pile of worms at phone-scale :D

05.12.2025 16:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yeah… Having been looking at PC handhelds recently after years of only using fixed-clock consoles… it’s been a learning experience :D

03.12.2025 01:48 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But yeah on some devices you may be able to just lock to higher clocks for profiling (note these might still drop or crash if they hit thermal limits).

03.12.2025 01:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Vsync is a big one, a β€œsmart” dynamic power system will only keep the clocks high enough to get frames out in time, so if you give it all the time up to the next vblank, and if you have fairly consistent frametimes, you may see it clock all the way down until it’s taking almost the whole time.

03.12.2025 01:36 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Note on some devices StablePowerState will be MUCH lower than peak clocks (or even average clocks). Eg. some devices can hit 2.5GHz+ sustained clocks, but stable power state will be like 900MHz.

If you are testing β€œreal” perf, make sure you’re keeping the GPU as busy as possible (no vsync, etc)

03.12.2025 01:15 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
The Making of Disco Elysium - Part One: Foundations
YouTube video by /noclip The Making of Disco Elysium - Part One: Foundations

🚨NEW DOC ALERTπŸ•ΉοΈ

The Making of Disco Elysium - Part One: Foundations
www.youtube.com/watch?v=eH6m...

After over 18 months of research, interviews & editing our Disco Elysium series is here.

In this first episode we focus on the cultural and personal foundations of the world of Elysium.

28.11.2025 17:30 β€” πŸ‘ 593    πŸ” 259    πŸ’¬ 6    πŸ“Œ 47

(This one is borrowed from work lol)

22.11.2025 21:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yep I’m usually a book person, or watch some new movies, but never use the WiFi or games.

I think something like Firewatch is a nice equivalent to watching a movie though :D

I don’t think I travel enough to really want an Ally/Steamdeck/Whatever, prefer console at home, but understand it now.

22.11.2025 21:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Re-played the entirety of Firewatch on the plane, first time using one of these things β€œas a user”. Maybe I finally get the appeal :D

22.11.2025 19:48 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Makes sense! Yeah it’s definitely workable in PS. There’s some downsides with execution order but clearly it’s still shippable. Game looks great!

17.11.2025 20:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

One downside is raytracing from a pixel shader hits some not-ideal perf issues, so you’d wanna do it from compute ideally, but then you can’t write the depth so you’re always gonna have mismatching borders around the hero object.

Is Keeper doing the ray-march in PS or CS?

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

(Since you’d get the logN scaling for RT traversal, but not pay the higher overall costs everywhere)

17.11.2025 20:17 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

As an intern I did a little graphics sample that used proxies like yours except it did hardware ray tracing inside the proxy (rather than raymarch). Didn’t end up sharing the sample but I’d thought it’d let you have like a super-high-poly hero model while the rest of the scene was cheap raster.

17.11.2025 20:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Usually I just look at perf traces and go β€œyou can’t do this”, so fixing it is up to the studio :D

17.11.2025 20:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Depends on title but you’d either want to choose an initial state that can refit to either final pose without massive stretching, or rebuild continually, or have a few set states and refit from the closest one sorta like the proxies.

I’m not sure what solution most titles go with tbh.

17.11.2025 20:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Thanks!

Door open/closed comes up for raytracing too lol, some really nasty perf if you just naively think you can get away with animating + refitting BVHs between the two states.

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

If these are pre-generated with openvdb, how many different proxies do you build, and how do you choose them?

17.11.2025 19:33 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Doing alright over there? You get a spotlight but only of stressful times :D

13.11.2025 06:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
SIGGRAPH 2025 Advances: STRAND-BASED HAIR AND FUR RENDERING IN INDIANA JONES AND THE GREAT CIRCLE
YouTube video by SIGGRAPH Advances in Real-Time Rendering SIGGRAPH 2025 Advances: STRAND-BASED HAIR AND FUR RENDERING IN INDIANA JONES AND THE GREAT CIRCLE

#SIGGRAPH2025 Advances in Real-Time Rendering in Games course talk recording of "Strand-Based Hair And Fur Rendering In Indiana Jones and The Great Circle" by Sergei Kulikov from MachineGames is now online: youtu.be/jSE1XXBEK-w

11.11.2025 23:45 β€” πŸ‘ 44    πŸ” 20    πŸ’¬ 0    πŸ“Œ 1

I’d expect quadtree or grid yeah, I remember reading lots of articles about them for 2D games.

Maybe you could do something clever with rasterizing the enemies into an ID buffer or something and sampling the pixels for hits.

10.11.2025 00:55 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

This illustrates the full process of capturing the "Essence" of a mesh to be used in a morph. The distance field is retrieved and then the mesh is projected onto the cube-shaped "screen" in order to pack its surface properties into two cubemaps.

04.11.2025 18:11 β€” πŸ‘ 68    πŸ” 12    πŸ’¬ 1    πŸ“Œ 3

How much of the geometry in a given scene is ray marched? Is even static stuff SDF, or just while morphing?

23.10.2025 22:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I noticed an @iquilezles.bsky.social thanks in the credits screen :D How much of the morph tech is SDF-based?

23.10.2025 22:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Video thumbnail

I wrote a neat morph system for Keeper and hopefully I can share a bit more about it in the future. This particular morph was an experiment using symmetry that didn't make it into the game in the end.

23.10.2025 21:23 β€” πŸ‘ 123    πŸ” 16    πŸ’¬ 3    πŸ“Œ 1

Columbo is the ideal for a point and click adventure game. He has a little comment for everything in the environment, he wanders around places freely, and he exhausts the dialogue tree of everyone he speaks to

22.10.2025 14:57 β€” πŸ‘ 85    πŸ” 11    πŸ’¬ 3    πŸ“Œ 0
Screenshot of Alan Wake 2 showing sunset on volumetric fog between trees.

Screenshot of Alan Wake 2 showing sunset on volumetric fog between trees.

Screenshot of Alan Wake 2 showing a view over a small town.

Screenshot of Alan Wake 2 showing a view over a small town.

Screenshot of Alan Wake 2 showing sunset on volumetric fog between trees.

Screenshot of Alan Wake 2 showing sunset on volumetric fog between trees.

Gotta re-download Alan Wake 2 every once in a while just to remind myself how absurdly pretty it is.

08.10.2025 06:46 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I was like β€œwow one day of not checking CBC??”

07.10.2025 19:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@gfxnico is following 20 prominent accounts