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
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
Reposted by Vladimir Komarov
The first Moana was my first credit at Disney Animation, so working on Moana 2 was a cool opportunity to revisit and reflect over how much I've learned and worked on over the past decade. Here's a short blog post with some thoughts from working on Moana 2:

blog.yiningkarlli.com/2024/12/moan...
December 18, 2024 at 9:16 PM
Quick test of the atmosphere rendering at long distances. The camera is in an atmosphere roughly the size of the Earth. The second volumetric sphere on the horizon with the same size, but at a distance to the Moon. I think I need to switch to doubles for positions in my engine
December 13, 2024 at 9:29 PM
Just playing with a new toy. Really like scattered colors from atmosphere in the scene.
www.youtube.com/watch?v=4VdI...
Some fun with sun and atmosphere
YouTube video by Vladimir Komarov
www.youtube.com
December 9, 2024 at 8:13 PM
Did quick experiments with analytic spherical volumes from zero-radiance.github.io/post/analyti...
It works in my renderer just like any other analytic volume (it's not special atmosphere subsystem). Here I use some random colors and sphere size
www.youtube.com/watch?v=8JJE...
Sampling Analytic Participating Media
zero-radiance.github.io
December 5, 2024 at 6:12 PM
Reposted by Vladimir Komarov
Stochastic raymarching with enhanced sphere tracing.
November 18, 2024 at 5:50 PM
One day I started working on my engine/renderer and I haven't been able to stop yet
November 15, 2024 at 6:11 PM