Research

Papers

Real-Time Path-Guiding Based on Parametric Mixture Model

Mikhail Derevyannykh

Eurographics 2022

Path-Guiding algorithms for sampling scattering directions can drastically decrease the variance of Monte Carlo estimators of Light Transport Equation, but their usage was limited to offline rendering because of memory and computational limitations. We introduce a new robust screen-space technique that is based on online learning of parametric mixture models for guiding the real-time path-tracing algorithm. It requires storing of 8 parameters for every pixel, achieves a reduction of FLIP metric up to 4 times with 1 spp rendering. Also, it consumes less than 1.5ms on RTX 2070 for 1080p and reduces path-tracing timings by generating more coherent rays by about 5% on average. Moreover, it leads to significant bias reduction and a lower level of flickering of SVGF output.

Arxiv | Conference Version | Fast Forward | Video Presentation | Video Demo

Spherical Gaussians Radiance Volumes For

Production Real-time Rendering

Bachelor Thesis, 2021

Mikhail Derevyannykh

We present the results of a study of the fast, flexible, and robust solution of the global illumination problem based on precomputed light volumes with stochastically filtered Spherical Gaussians (SG). It supports coherent shading of dynamic and static objects, taking into account visibility weighting for preventing light and shadow leaks. In addition, our lighting basis and optimization algorithm of its parameters are robust for high-frequency indirect lighting and achieve lower errors concerning the current state-of-the-art methods based on SG. Furthermore, we suggest a more accurate approach for computing Fresnel, Smith Masking Function, and Cos factors of light transport equation when incident lighting is approximated by SG basis. And finally, a method for estimating local high-frequency occlusion with SG basis is presented, too.

PDF (paper is submitted to JCGT)

ECS - Data Oriented Ray Tracer

Course Work, 2019

Mikhail Derevyannykh

Wooden PBR Engine is a software unidirectional path-tracing researching engine for rendering 3D scenes based on C++17, SIMD Math Library, Data-Oriented ECS Design (similar to Unity ECS). It has some very good low-level performance metrics with regard to OOP RayTracers (PBRT) - some research plots and comparisons are inside the paper. I implemented my own SIMD math library, ECS meta-programming library, allocators library for this project.

PDF (RU) | Source

Intermediate research

ML for real-time GI



Pipeline based on Colab, Weight and Biases, Google Drive, Ngrok, TensorRT for researching and finding the best neural network architecture. Weight and Biases for logging and hyperparameter searching (architecture types, data transformation, # of layers, learning rates, # samples for implemented custom loss functions, activation functions, etc) - Deployed render-server based on Ngrok for fast rendering some validation screenshots, which are used as logging data for every N epoch during training - Deployed render-server based on Ngrok and TensorRT for benchmarking inference time of requested neural network architecture on some gaming GPU. - Neural network quantizations - Renderer with support of highly optimized async neural networks inference and dataset generation . - A lot of different python scripts\C++ SIMD applications\GPU applications for processing datasets (there’re terabytes of data, that’s why I need to bother about RAM\disk speed, latency, and bandwidth\CPUvsGPU performance, etc.) - Scripts\Programs for failed experiments (geometry tessellation, implemented SSIM with support of different patches, slow Mitsuba 2 and Cycles Blender baker, position encoding layers, sine, lightmaps prediction). Inference is about 0.2 ms.
Old Video