Thank you!
23.02.2026 06:39 β π 0 π 0 π¬ 0 π 0@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
Thank you!
23.02.2026 06:39 β π 0 π 0 π¬ 0 π 0In 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
22.02.2026 21:45 β π 1 π 0 π¬ 0 π 0I'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...
22.02.2026 21:44 β π 22 π 2 π¬ 2 π 0Thanks!
15.02.2026 20:30 β π 0 π 0 π¬ 0 π 0Awesome shaders from @XorDev www.shadertoy.com/view/WXV3zt and www.shadertoy.com/view/3XtXzX
15.02.2026 19:39 β π 1 π 0 π¬ 0 π 0
Π‘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...
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.
11.02.2026 07:25 β π 2 π 0 π¬ 0 π 0
Shaders used shadertoy.com/view/3fKSzc
and shadertoy.com/view/WcKXDV
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...
The recap of my third year of development on Ombre is finally available:
https://www.froyok.fr/blog/2025-11-ombre-dev-blog-3/
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.
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...
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!
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.
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
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.
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
30.11.2025 15:51 β π 54 π 11 π¬ 5 π 0I 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
25.11.2025 10:16 β π 2 π 0 π¬ 0 π 0Thank you! I thought about "frame selected" many times while recording the videoπ
23.11.2025 14:12 β π 1 π 0 π¬ 1 π 0
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...
Even if I'm not working directly on rendering clouds at the moment, I still somehow take screenshots of them as I workπ
19.11.2025 19:52 β π 18 π 1 π¬ 0 π 0I 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
25.10.2025 23:12 β π 27 π 0 π¬ 1 π 0Thank you! I don't have an end goal yet but there is a bunch of functionality I want to implement
06.10.2025 20:56 β π 0 π 0 π¬ 0 π 0
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...
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.
05.08.2025 19:15 β π 3 π 0 π¬ 1 π 0Because 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...
05.08.2025 19:15 β π 10 π 0 π¬ 1 π 0And in this case you don't need sampler feedback, min mip textures and tile management.
20.07.2025 19:47 β π 0 π 0 π¬ 0 π 0In 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).
20.07.2025 19:47 β π 3 π 0 π¬ 1 π 0Besides 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...
20.07.2025 19:47 β π 1 π 0 π¬ 1 π 0