Guilherme Avila retweeted
New blog post! "Load store conflicts", in which we look at some performance sensitive code that has surprisingly dramatic performance swings based on the compiler and the microarchitecture used. RTs appreciated!
zeux.io/2025/05/03/load-stor…
Guilherme Avila retweeted
GH stars / retweets welcome as usual ;)
GitHub release link: github.com/zeux/meshoptimize…
I see Stubbe's octahedral decode opt in almost every usage I come across. But I've never seen it used for encoding.
The same symmetry applies here! and its ~50% faster.
Especially important for octahedral-encoded textures, as it's required for every sample! please RT.
follow-up optimization
xitter.cf/ScieCode/status/181108…
Found another potential optimization, breaking up instruction dependency, and allowing better pipeline while quarter-rate rcp runs.
Got mixed results here, either no net gain or ~5% gain. Probably depends on the compiler, but should use this formulation eitherway.
Worth noting, snippet expects unit normals & returns uv in [-1,1] range (remap to [0,1] afterwards if the API expects that range)
Guilherme Avila retweeted
meshoptimizer v0.21 is out!
This release has many improvements related to meshlets: a new function to optimize meshlets for HW efficiency, extra features for meshopt_simplify* to make Nanite style processing easier to implement and faster, and more! RTs and ⭐️ appreciated :)
Octahedral-encoded indirect specular map, with added border so it allows bilinear filtering, pre-convolved mips & trivially tiled within texture atlas.
shadertoy.com/view/43G3Dd
Currently, there isn't a physically correct way to filter + blend a .png ImageBitmap uploaded to WebGPU. Either filtering occurs in sRGB, or premultiplied-alpha does. As such, if you want photometric correct .png textures you need decode it manually.
rawcdn.githack.com/sciecode/…
The point is - this is not something new. The information about having to filter, blend & premultiply-alpha in linear-space in order to properly handle cutouts & correct radiance/luminance data has been out there for at least 25 years.










