Vladimir Komarov
vrkomarov.bsky.social
Vladimir Komarov
@vrkomarov.bsky.social
Graphics programmer at Lesta Games (prev Wargaming St. Petersburg)
Here I post about computer graphics and my engine/renderer
mastodon.gamedev.place/@VrKomarov
https://x.com/VrKomarov
Pinned
One day I started working on my engine/renderer and I haven't been able to stop yet
Reposted by Vladimir Komarov
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!
January 6, 2026 at 7:53 PM
Reposted by Vladimir Komarov
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.
December 20, 2025 at 12:26 AM
Reposted by Vladimir Komarov
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
December 14, 2025 at 10:12 PM
Reposted by Vladimir Komarov
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.
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. ...
research.nvidia.com
December 4, 2025 at 10:42 AM
Reposted by Vladimir Komarov
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
November 30, 2025 at 3:51 PM
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...
Double support for positions
YouTube video by Vladimir Komarov
www.youtube.com
November 22, 2025 at 11:56 PM
Even if I'm not working directly on rendering clouds at the moment, I still somehow take screenshots of them as I work😀
November 19, 2025 at 7:53 PM
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
October 25, 2025 at 11:12 PM
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...
Async scene loading
YouTube video by Vladimir Komarov
www.youtube.com
October 5, 2025 at 4:19 PM
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...
August 5, 2025 at 7:15 PM
I'm working on texture streaming right now, and the first thing I tried was hardware tile streaming with sampler feedback. And yes, the state of hardware streaming is very sad.
bsky.app/profile/fabr...
Hardware virtual textures look like a marvelous tool for large terrains or volume compression.
Alas, they are in a sad state in terms of performance and usability. And strangely, the (very bad) binding perfs varies a lot with the driver.
→ read here: hal.science/hal-05138369
@rcmz0.bsky.social
July 20, 2025 at 7:46 PM
Reposted by Vladimir Komarov
Holy shit, I am just catching up with this article, which goes way further down the mipmap filtering rabbit hole than any other resource I've seen, including showing differences in GPU vendor hardware implementations.

pema.dev/2025/05/09/m...
June 5, 2025 at 5:13 PM
Tried DLSS RR in my path tracer and it's pure magic. I think it's quite expensive for games (~7ms for this image on laptop 3080), but for previz in path tracing it's really good, very resposive and high quality.
www.youtube.com/watch?v=xtzW...
DLSS RR test
YouTube video by Vladimir Komarov
www.youtube.com
May 26, 2025 at 10:30 PM
Just updated Intel OIDN for the first time in a couple of years in my renderer so I can use GPU version, and it works so well with DOF, motion blur, volumetrics and it's pretty fast. There is a little blurriness in some cases but it's totally solvable
www.youtube.com/watch?v=YcHG...
Updated Intel OIDN denoiser in my renderer
YouTube video by Vladimir Komarov
www.youtube.com
May 18, 2025 at 4:35 PM
Reposted by Vladimir Komarov
New old blog post: I wrote this back in 2020 but didn't bother to finish editing/uploading until yesterday about how I made this forest scene as a technical art exercise.

Slowly working my way through finishing/editing/uploading unfinished old blog posts...

blog.yiningkarlli.com/2020/12/lupi...
May 5, 2025 at 11:12 PM
Implemented a very simple timeline and motion blur in my path tracer. Just animating the scene a bit and accumulating frames (works well with rotation). Even 128 camera samples seems to be enough for even fairly fast movement
www.youtube.com/watch?v=cwzP...
Motion blur experiment
YouTube video by Vladimir Komarov
www.youtube.com
April 23, 2025 at 8:28 PM
Reposted by Vladimir Komarov
I'm excited to share our latest paper (work with Matt Pharr and Tomas Akenine-Möller), "Improved Stochastic Texture Filtering Through Sample Reuse" accepted to I3D'2025.
arxiv.org/abs/2504.05562
research.nvidia.com/labs/rtr/pub... 1/
April 11, 2025 at 3:35 PM
Reposted by Vladimir Komarov
Managed to get Nvidia Flow (PhysX) to compile and run, after initially failing the other week. Was curious for a quick peek now that it's been open sourced (github.com/NVIDIA-Omniv...)

Flow itself isn't CUDA based, but instead uses compute shaders

Some higher level observations in the replies 1/?
April 6, 2025 at 12:40 PM
Another experiment with beautiful clouds by @samuel_krug. All colors here are just from the planet's atmosphere and lightning, just different angles of the sun. It's slow but interactive and without lightning mesh light it's 2-3 times faster. Something needs to be done about this
March 7, 2025 at 5:24 PM
Reposted by Vladimir Komarov
I’m excited to announce that due to popular demand, we will release the full animatic of Flow aka Float aka the Crazy Frog Edition. Instead of using storyboards, all the scenes are designed directly in 3D. Everything was made in Blender and rendered in EEVEE.
February 13, 2025 at 5:43 PM
It can be interactive with upscaler enabled (in the second half of the video I use AMD FSR2)
www.youtube.com/watch?v=9yCE...
Volumetrics optimization progress
YouTube video by Vladimir Komarov
www.youtube.com
February 27, 2025 at 10:00 AM
Intersecting heterogeneous volumes with multiscatter + exponential high analytical + mesh lights is hard. Now it's 30-40 percent faster for such scenes (more bounces more performance gain)
February 26, 2025 at 8:24 PM
Reposted by Vladimir Komarov
I found a nice approximation to the integral of projected areas of an SGGX:
integral sqrt( w^T S w ) dw ~= pi * (
(1-1/sqrt3) * ( sqrt(S00) + sqrt(S11) + sqrt(S22) ) +
(1+1/sqrt3) * sqrt( S00 + S11 + S22 ) )
February 25, 2025 at 9:52 PM
I continue to work on analytical volumetrics and have discovered an interesting side effect when the volume stack size is not sufficient
www.youtube.com/watch?v=kF7s...
Volume stack size side effect
YouTube video by Vladimir Komarov
www.youtube.com
February 15, 2025 at 11:13 PM
Added secondary layer to the spherical analytic media with its own params for color and phase function. Here the first layer is with Rayleigh scattering and the second with Henyey Greenstein for fog
www.youtube.com/watch?v=WNJ-...
Secondary layer for the spherical analytic media
YouTube video by Vladimir Komarov
www.youtube.com
December 30, 2024 at 6:39 PM