Sign in

Vladimir Komarov

@vrkomarov.bsky.social
424 followers 98 following 66 posts

Graphics programmer at Lesta Games (prev Wargaming St. Petersburg) Here I post about computer graphics and my engine/renderer mastodon.gamedev.place/@VrKomarov x.com/VrKomarov

PostsRepliesMedia
Reposted by Vladimir Komarov
Jonathan Stone @sheriffstone.bsky.social · 26/09/2026
Thanks to our colleagues at Pixar, NVIDIA, SideFX, OTOY, Blender, and Autodesk for their amazing work on this year's MaterialX and OpenPBR Virtual Town Hall. The full slide deck can be found at materialx.org/assets/ASWF_..., and stay tuned for the published video from the @aswf.io.
The MaterialX Teapot and LionThe MaterialX Stirling
0147
Reposted by Vladimir Komarov
Krzysztof Narkowicz @knarkowicz.bsky.social · 22/09/2026
Interesting DLSS5 tech details: github.com/maanHimself/...
github.com
GitHub - maanHimself/OpenDLSS-NR: A Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original.
A Vulkan reimplementation of NVIDIA's DLSS 5 Neural Rendering network, bit-exact against the original. - maanHimself/OpenDLSS-NR
1208
Reposted by Vladimir Komarov
Christoph Kubisch @pixeljetstream.bsky.social · 29/08/2026
New release of Mega Geometry SDK now with a textured version of the Zorah scene (gltf + ktx2 70 GB). Lots of great work by Calvin Hsu. RTXMG (now with ported lod system) github.com/NVIDIA-RTX/R... VK r&d sample: github.com/nvpro-sample...
Rendering of a classical building with intricate geometric detail. Leaves in foreground that are geometry. Outside the viewport are ui elements with lots of statistics and controls
1164
Reposted by Vladimir Komarov
Jacco Bikker 🎦 @jbikker.bsky.social · 26/08/2026
New demo, very much WIP: hair rendering using Reshetov and Hart's 'RoCap' algorithm, on the GPU. These are smooth spline curves with per-vertex thickness rather than approximations such as NVIDIA's Linear Swept Spheres. The BVH is built over strand AABBs, strands are primitives in the leafs.
1223
Reposted by Vladimir Komarov
Morten Vassvik @vassvik.bsky.social · 20/08/2026
Rational photometric blackbody radiation approximations: www.shadertoy.com/view/ffcSRl
1132
Reposted by Vladimir Komarov
Wenzel Jakob @wjakob.bsky.social · 17/08/2026
I'm excited to announce a first development release of nanobind 3.0. It introduces *split mode*, a new distribution model where a single Python wheel runs across all Python versions, while achieving outstanding performance and gaining rather than losing features! 🧵
1248
Reposted by Vladimir Komarov
Maximilian Tarpini @maxtarpini.bsky.social · 06/08/2026
Perceptual Russian Roulette.. around 5% faster than using classic raw max channel.
0142
Reposted by Vladimir Komarov
Alex Tardif @longbool.bsky.social · 28/06/2026
If you've been watching recent engine-related news from the industry and are feeling disenchanted with that trajectory, I'd like to share some non-mainstream projects that might brighten your day:
13310
Reposted by Vladimir Komarov
Alex Tardif @longbool.bsky.social · 30/05/2026
The Cost of AI alextardif.com/AI.html
alextardif.com
Alex Tardif: Graphics Programmer
13366132
Reposted by Vladimir Komarov
Yining Karl Li @yiningkarlli.bsky.social · 19/05/2026
I'm a little late to the party on this one since it's from January, but I just read this great blog post by Jure Triglav walking through implementing surfel-based global illumination. It's got a bunch of really cool interactive toys/visualizers! juretriglav.si/surfel-based...
0498
Reposted by Vladimir Komarov
Simon Carter @bbbscarter.bsky.social · 26/03/2026
I'm trying to write a little more frequently, so I wrote some words about the development of the original Fable. Yay! blog.simoncarter.me/blog/the-ori... #gamedev #fable #games
blog.simoncarter.me
The Origins of Fable
The story of Fable's origins - failed pitches, a game called Wishworld, and unlikely sources of inspiration.
34417
Vladimir Komarov @vrkomarov.bsky.social · 26/04/2026
Procedural volumes can use any info from renderer, so here I just draw artistic sss and get reflections from cache directly. Waves from this shadertoy shadertoy.com/view/MdXyzX
shadertoy.com
000
Vladimir Komarov @vrkomarov.bsky.social · 26/04/2026
It turns out I can use my procedural volumes to draw anything, including surfaces. Did a quick experiment with a water. I haven't had time to do FFT or proper geometry yet, so I'm using heightmap raymarching and waves from some cool shadertoy www.youtube.com/watch?v=CKRu...
youtube.com
Water rendering as a procedural volumetric
YouTube video by Vladimir Komarov
190
Reposted by Vladimir Komarov
nicebyte @nicebyte.bsky.social · 12/04/2026
INTRODUCTION TO SPHERICAL HARMONICS FOR GRAPHICS PROGRAMMERS finally done. gpfault.net/posts/sph.html
gpfault.net
Introduction to Spherical Harmonics for Graphics Programmers
1027886
Vladimir Komarov @vrkomarov.bsky.social · 03/04/2026
It's quite complex overall and approach for procedural volumes a bit hacky but at least it's controllable from material user shaders for them, so you can tweak it until you like it
000
Vladimir Komarov @vrkomarov.bsky.social · 03/04/2026
collision from analytic volume and calc lighting here. Also I can use analytic volumes with priorities stack, in this case they cut space from additive volumes. For procedural I just use some random collision point to compare with other volumes including other procedural volumes
110
Vladimir Komarov @vrkomarov.bsky.social · 03/04/2026
Thank you! Clouds+mist and volume in sphere are procedural volumes and I use ray marching for them. Also there is analytic volume on this scene. For overlapping I render heterogeneous and part of analytic volumes as additive, i.e use nearest collision in delta tracking and ...
110
Vladimir Komarov @vrkomarov.bsky.social · 02/04/2026
Shaders fragcoord.xyz/s/sewg07xf and fragcoord.xyz/s/qvpyllck
fragcoord.xyz
Sunset [280]
Based on my [url=https://x.com/XorDev/status/1918764164153049480]tweet shader[/url] by @Xor
000
Vladimir Komarov @vrkomarov.bsky.social · 02/04/2026
Playing with procedural volumes in my renderer. It's difficult to combine tracking/analytical/procedural volumes but since there is full control over procedural volumes from per-material shader, something can be done. Shaders from @XorDev fragcoord.xyz www.youtube.com/watch?v=xfzz...
youtube.com
Procedural volumes another test
YouTube video by Vladimir Komarov
240
Reposted by Vladimir Komarov
Yining Karl Li @yiningkarlli.bsky.social · 09/03/2026
Adobe just released an Apache-2.0 licensed reference implementation of the OpenPBR Surface standard, extracted from their in-house Eclair renderer. Neat trick: the reference implementation cross-compiles for C++, GLSL, Cuda, Metal, and Slang! github.com/adobe/openpb...
github.com
GitHub - adobe/openpbr-bsdf: Adobe's reference implementation of the OpenPBR BSDF
Adobe's reference implementation of the OpenPBR BSDF - adobe/openpbr-bsdf
0377
Vladimir Komarov @vrkomarov.bsky.social · 23/02/2026
Thank you!
000
Vladimir Komarov @vrkomarov.bsky.social · 22/02/2026
In this demo, in addition to shadows from the procedural volume, I also add lighting to the analytical volume when calculating the light from the spot light. @XorDev shader fragcoord.xyz/s/fxz51u1k is from his new FragCoord tool
fragcoord.xyz
__OG_TITLE__
__OG_DESCRIPTION__
010
Vladimir Komarov @vrkomarov.bsky.social · 22/02/2026
I'm continuing to experiment with fully procedural volumetrics. Added interaction with analytical volumes. Because of the difficulty in combining these two different volumes, I had to use dithering to create transparency. www.youtube.com/watch?v=h0b1...
youtube.com
Procedural + analytic volumes
YouTube video by Vladimir Komarov
2232
Vladimir Komarov @vrkomarov.bsky.social · 15/02/2026
Thanks!
000
Vladimir Komarov @vrkomarov.bsky.social · 15/02/2026
Awesome shaders from @XorDev www.shadertoy.com/view/WXV3zt and www.shadertoy.com/view/3XtXzX
shadertoy.com
010
Vladimir Komarov @vrkomarov.bsky.social · 15/02/2026
Сreated the first prototype of a fully procedural volumetric that can run any custom shader (not just specifying density and phase function) in my path tracer. Problem of intersecting volumes is more difficult to solve here, I'll think about it some more. www.youtube.com/watch?v=IqGi...
youtube.com
Procedural volumes prototype
YouTube video by Vladimir Komarov
3221
Vladimir Komarov @vrkomarov.bsky.social · 11/02/2026
For some time now, I've been using the approach from research.nvidia.com/publication/... with mip chain + restir presampling. Previously I used the classic CDF with presampling, but mip chain is more convenient and doesn't have any drawbacks for me.
research.nvidia.com
Rearchitecting Spatiotemporal Resampling for Production | Research
Recent work by Bitterli et al. introduced a real-time, many-light algorithm for rendering dynamic direct illumination from millions of lights by iteratively applying resampled importance sampling usin...
020
Vladimir Komarov @vrkomarov.bsky.social · 09/02/2026
Shaders used shadertoy.com/view/3fKSzc and shadertoy.com/view/WcKXDV
shadertoy.com
010
Vladimir Komarov @vrkomarov.bsky.social · 09/02/2026
Added support for custom environment light shaders/materials in my path tracer and now I can use @XorDev shadertoy magic as a light source. CDF mip chain for light sampling is rebuilt every frame. www.youtube.com/watch?v=p_1T...
youtube.com
Support for custom environment light shaders
YouTube video by Vladimir Komarov
3220
Reposted by Vladimir Komarov
Froyok (Léna Piquet) @froyok.fr · 03/02/2026
The recap of my third year of development on Ombre is finally available: www.froyok.fr/blog/2025-11-ombre-de…
froyok.fr
OMBRE Dev-Blog Year 3 | Froyok - Léna Piquet
It's November, which means it is time for another year long recap of the development of my own game engine. I'm a bit late compared to the anniversary date (November 5), but this year has been hectic ...
1233
Reposted by Vladimir Komarov
Jacco Bikker 🎦 @jbikker.bsky.social · 02/02/2026
Marcin Zalewski informed me that his blog post on real-time hair rendering using ray tracing is now available: mmzala.github.io/blog/hair-ge... This is nice work, in which he compares NVidia's hardware accelerated hair to several alternatives, including Reshetov's Phantom Ray Hair Intersector.
04013
Reposted by Vladimir Komarov
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 Vladimir Komarov
Mike Turitzin @miketuritzin.bsky.social · 06/01/2026
I just released my video about the engine (and game) I've been working on. The engine is based on dynamic SDFs, and the video describes how it works and what it makes possible. Link in the reply! This is my first YouTube video and it took forever - please repost!
1229055
Reposted by Vladimir Komarov
Morten Vassvik @vassvik.bsky.social · 20/12/2025
Ever seen one of these, and wondered *why* they work? 🧵 This is a so-called Bitonic sorting network, and the illustrations show the two common ways to implement them. From an implementation point of view the two methods are effectively the same, so which one you pick just comes down to preference.
23910
Reposted by Vladimir Komarov
Cem Yuksel @cemyuksel.com · 14/12/2025
Our #SIGGRAPHAsia 2025 paper "Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling" improves #realtime #caustics rendering. Project Page: graphics.cs.utah.edu/research/pro... @daqilin.bsky.social @tizian.bsky.social
15312
Reposted by Vladimir Komarov
Jacco Bikker 🎦 @jbikker.bsky.social · 04/12/2025
Another SIGGRAPH Asia gem: research.nvidia.com/labs/rtr/pub... "Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling" by Hong et al., which combines sample space partitioning with ReSTIR to efficiently handle caustics.
research.nvidia.com
Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling | NVIDIA Real-Time Graphics Research
Caustics rendering remains a long-standing challenge in Monte Carlo rendering because high-energy specular paths occupy only a small region of path space, making them difficult to sample effectively. ...
0253
Reposted by Vladimir Komarov
Kostas Anagnostou @kostasanagnostou.bsky.social · 30/11/2025
The z-buffer and depth testing (aka z-testing) have been the dominant way of hidden surface elimination for over 50 years, introduced but not implemented in W. Straßer's PhD thesis in 1974, and actually implemented in Ed Catmull's PhD thesis in the same year. 1/4
55411
Vladimir Komarov @vrkomarov.bsky.social · 25/11/2025
I push to GPU array of instances info including double3 pos. Every frame I fill bvh instances with float3 (camera relative) from global double3 pos buffer in compute shader and rebuild tlas relative to camera. I do it for all tlas bvhs. Also I do some work on CPU for other structures e.g. light tree
020
Vladimir Komarov @vrkomarov.bsky.social · 23/11/2025
Thank you! I thought about "frame selected" many times while recording the video😀
110
Vladimir Komarov @vrkomarov.bsky.social · 22/11/2025
I finally added double support for positions in my engine and I can now draw objects at enormous distances from each other. This only cost ~15% scene graph update perf on CPU and it's almost free for GPU since everything is drawn relative to camera using float www.youtube.com/live/eYZ6wS9...
youtube.com
Double support for positions
YouTube video by Vladimir Komarov
2310
Vladimir Komarov @vrkomarov.bsky.social · 19/11/2025
Even if I'm not working directly on rendering clouds at the moment, I still somehow take screenshots of them as I work😀
0191
Vladimir Komarov @vrkomarov.bsky.social · 26/10/2025
I had previously used triangle meshes to render giant planetary atmospheres but after many unsuccessful attempts to fix all the artifacts, especially when intersecting atmosphere geometry, I decided to add support for spheres to my renderer. It works much better
1260
Vladimir Komarov @vrkomarov.bsky.social · 06/10/2025
Thank you! I don't have an end goal yet but there is a bunch of functionality I want to implement
000
Vladimir Komarov @vrkomarov.bsky.social · 05/10/2025
Finally got around to implementing async scene loading in my engine. DX12 async compute for BLAS + background threads for bvh command list and resource loading. A lot of pain with synchronizing all of this and the ability to delete objects during loading www.youtube.com/watch?v=kkWa...
youtube.com
Async scene loading
YouTube video by Vladimir Komarov
1170
Vladimir Komarov @vrkomarov.bsky.social · 05/08/2025
000
Vladimir Komarov @vrkomarov.bsky.social · 05/08/2025
I store the texture with additional roughness separately with BC4 compression. Unfortunately in the case of a material with a custom shader additional complications are added, for example when a normal blend is needed.
130
Vladimir Komarov @vrkomarov.bsky.social · 05/08/2025
Because of texture streamer it became necessary to almost always use mip maps, so I had to do basic normal map filtering, otherwise the surfaces become too shiny and flat. Only roughness without anisotropy for now. Images in order: mips disabled/enabled/+filtering. More below...
1100
Vladimir Komarov @vrkomarov.bsky.social · 20/07/2025
And in this case you don't need sampler feedback, min mip textures and tile management.
000
Vladimir Komarov @vrkomarov.bsky.social · 20/07/2025
In the end I decided to try simple mips streamer and it works much better and memory savings are almost the same (because for tiled mode I load a bit more tiles than necessary, otherwise sometimes there are filtering artifacts in the process of loading new tiles).
130
Vladimir Komarov @vrkomarov.bsky.social · 20/07/2025
Besides UpdateTileMappings sampler feedback also has problems, at least on my laptop Nvidia 3080. There are crashes if you use it in any hit shaders and wrap mode for samplers doesn't work. Also found this list of problems on other vendors github.com/HansKristian...
github.com
110