Last week (23rd – 26th June), Cycles developers Sergey Sharybin, Thomas Dinges and Lukas Stockner visited the EGSR in Darmstadt, a conference where new rendering papers and technologies are presented. It was great to meet other rendering people and get up to speed with latest research in this area.
Interesting papers that were presented and are potentially useful for Cycles:
- Portal-Masked Environment Map Sampling by Benedikt Bitterli, Jan Novák and Wojciech Jarosz. This seems rather straightforward to implement on top of our current portals, but penalty is higher memory usage.
- Practical Rendering of Thin Layered Materials with Extended Microfacet Normal Distributions by Jie Guo, Jinghui Qian and Jingui Pan. This is an interesting concept, something to look into but need to be careful from the actual implementation point of view.
- Physically Meaningful Rendering using Tristimulus Colours by Johannes Meng, Florian Simon, Johannes Hanika and Carsten Dachsbacher. Even though Cycles is working with RGB colors this paper is still interesting to experiment a bit with. Simple idea could give similar texturing improvement: go from RGB to Spectrum space and tdo clamping/scaling of the spectrum similar to the paper and then go back to RGB (maybe with wider gamut?).
- Consistent Scene Editing by Progressive Difference Images by Tobias Günther and Thorsten Grosch. This paper describes interesting approach of keeping scene editing real-time by avoid res-ampling full frame when only small areas of the image changed during editing.
- Apex Point Map for Constant-Time Bounding Plane Approximation by Samuli Laine and Tero Karras. This paper describes exact solution to the problem we were having with camera space cull in the Gooseberry project. It’s quite simple to implement and will reduce number of false-positive visibility checks.
- MBVH Child Node Sorting for Fast Occlusion Test by Shinji Ogaki and Alexandre Derouet-Jourdan. It describes approach of speeding up shadow rays cast with really small penalty. Something to experiment with at least.
- Gradient-domain Bidirectional Path Tracing by Marco Manzi, Markus Kettunen, Miika Aittala, Jaakko Lehtinen, Fredo Durand and Matthias Zwicker. This exact paper talks about bidirectional tracing, but similar idea could be implemented for regular path tracer (in fact, it’s actually described in the previous paper). Would help reducing noise even in the cases like motion blur and camera DOF (using de-noising, so it’s not really am magic bullet still).
There are also some presentations which are not related on Cycles but still interesting for Blender:
- MatCap Decomposition for Dynamic Appearance Manipulationby Carlos Jorge Zubiaga, Adolfo Muñoz, Laurent Belcour, Carles Bosch and Pascal Barla. This paper describes interesting approach to editing matcaps which might be interesting for sculpters. But it’s not really clear if this is something which should belong to Blender or rather other standalone application.
- Distributed Out-of-Core Stochastic Progressive Photon Mapping by Tobias Günther and Thorsten Grosch. Similar idea could be used for distributed rendering in blender for cases when scene does not fit into the memory. Would need some adjustments to the algorithm so it works with path tracing and majority of implementation will be done in management software.
- Separable Subsurface Scattering by J. Jimenez, K. Zsolnai, A. Jarabo, C. Freude, T. Auzinger, X-C. Wu, J. von der Pahlen, M. Wimmer and D. Gutierrez. Since the viewport is getting so much interesting real-time effects now, this paper is something to consider looking into.
Thanks a lot to Blender Foundation and Solid Angle, for making the trip and visit possible!
– Thomas, Lukas, Sergey –