With Corona Renderer, you don’t just get the software, you also get the team behind it. Using the software will teach you about that, but how do you get to know about the team?
That’s the idea behind our “Know Your Devs” series of articles, where we invite users to post their questions for a particular developer, and this time it’s co-developer of Corona in the early days and current Research Lead….. Jaroslav Křivánek!
Read Jaroslav’s answers!
What’s the next big thing coming to Corona?
Volumetrics (3D volumetric materials; compatibility with Phoenix FD and FumeFX; and OpenVDB support through the CoronaVolumeGrid), new lens effects, and compatibility with V-Ray are the big things in the next release, Corona Renderer 2. There’s been also some internal refactoring that will allow faster development in the future.
Caustics are another big thing that we hope will be released in 2018. We already have some research on this in a sandbox outside of Corona, that I showed at Total Chaos. Our goal is to have caustics essentially parameter-free, so that you guys don’t need to worry about tweaking things like the photons count and such. That involves injecting quite a lot of intelligence into the sampling routines and we’ve been investigating these topics in collaboration with Saarland University in Germany.
The features I am personally involved with mostly deal with speeding up light transport. One thing you will have during 2018 is the new, much faster light solver (that’s currently in the experimental stage). We are testing and refining it right now and it will become the new default sometime during 2018 and rendering will become much, much faster in some cases. We’ll present a paper on this at SIGGRAPH 2018 in Vancouver – we hope to see you there!
Related to this is the ditching of portals and replacing them with an intelligent algorithm that will actually perform better. This is something that we’ve been working on together with the V-Ray team and that will appear in V-Ray Next as Adaptive dome lights. We’ll have a talk on this at SIGGRAPH 2018 too.
Another speedup will come from using our research work on path guiding that’s been around for a while, but we’ve just never had the time to implement it into Corona. I feel now is the right time!
There’s of course much more, check over on the roadmap. Apart from research into speeding up light transport, there is also some exploratory work on stylized rendering and some scene intelligence. Stay tuned!
We are looking at how some other engines are using shared GPU RAM right now. What are your thoughts about it and the implementation in the future?
I am personally more of a math/algorithms person than a technical guy, so my reply to this is not an expert one. It’s clear that GPUs are getting the memory they should have had for a long time, which makes them more and more suitable for high-end rendering. Of course, limitations due to bad interoperability with 3rd party plugins still remain.
Where are our caustics ? 😉
In a sandbox implementation that can render beautiful caustics without the user having to set any parameters 🙂 This will appear in Corona during this year, and our plan at the moment is to have them in Corona 3.
What’s been the most challenging feature to date?
Of the ones that I’ve personally been involved with, Denoising and the new intelligent light solver were definitely the most challenging features. Both of them share one thing: getting a first implementation in place is not extremely difficult, but making sure it works in all niche cases can be really, really hard. This is also the reason why the new solver is still in an experimental stage. That said, it is really rewarding seeing things work in practice after all the work has been done!
How did you find your way to the Corona team and then as R&D lead? What new feature are you most excited about?
I’ve been in academic CG/rendering research since 2001, working at the Czech Technical University in Prague, Cornell University, then eventually establishing my research group at Charles University, Prague in 2010. Ondra joined the group as a Ph.D. student in 2011 and much of the research we did at that time was implemented in Corona, notably our 2014 SIGGRAPH path guiding paper.
But it soon turned out that Corona users needed more fundamental features to support their daily work, rather than advanced light transport algorithms, so Ondra decided to devote his time to coding rather than doing research. This took another half-year or so, and at some time Ondra took the decision to go commercial. I liked the idea because my goal has always been to foster the graphics community in Prague and I was realizing that while we have great education in the field, we’d been missing the industry itself.
This was just one of the reasons I decided to help out starting the company. Another was that I wanted to use the experience that I had accumulated over the years in the field, working on a research and commercial rendering codes such as on Arnold and Weta Digital’s in-house renderer, Manuka.
What is your background?
I’ve been to many places: primary school in Most and Louny, Czechslovakia (!); Lycee in Louny; Electrical engineering and Computer Science at Czech Technical University; Ph.D. at Inria in Rennes France; research stays at the University of Central Florida; and a postdoc at Cornell University (yes, the place that has the famous box).
I’ve been a professor at Charles University, Prague for about eight years now. I worked with various industry partners to transfer my technology into real-world applications, such as with Sony Picture Imageworks, Weta digital, and PIXAR.
What path lead you to CG software development?
I’ve been fascinated by CG since high-school. I owe this to prof. Jiří Žára, who later taught me at Czech Technical University and also was my Ph.D co-supervisor. Early in the nineties, soon after the iron curtain fell, he wrote a book on “Modern computer graphics” where he talked about really cool stuff like fractals, procedural textures, ray tracing and such. My friends and I discovered this sometime during high school and I choose my education essentially so that I could work with the author of the book!
But I’m not really a ‘developer’ per se – I do research, I look for new problems to solve, I design new algorithms, work out math. That’s my real passion.
Is there any particular feature you are proud of ? Or is it yet to come ? 😛
Well, I do hope my productive days are not yet over. 😉
What I’m really proud of is that fact that I’ve hopefully been able to contribute to placing Prague and the Czech Republic quite firmly on the global map of CG research and industry. Through the University research group, through the various research collaboration and the achieved research results, and of course though Corona.
What are your hobbies & routines ? 😉
I’m a member of an amateur theater group. We more or less do weird stuff – not classic drama. We’ve done a play by Václav Havel; we turned a short novel by Irena Brežná into a dramatical form; and last year we did our own heavily modified version of “The Ugly One” by Mayenburg. Now we are working on a dramatization of the short story “A woman that spied on herself” by Marius Szczygiel.
Apart from that, I play guitar and I like singing – it’s one of those things that I always wanted to do but I was always too busy to do it. But now I’ve finally started and I love it.
I also love backpacking & sleeping under the stars.
How does developing Corona affect your life? Was it for money, or more for the “brain exercise”?
Corona has affected my professional life in many ways. I had to get much better at organizing my time, since I was splitting it among two jobs (the University and Corona). I had to learn to delegate tasks much better, and trust people to deliver good results, which I had a hard time doing before. It also gave me a completely new perspective on what’s important in rendering research and what’s not!
After the merger with Chaos Group, I really enjoy being backed by a robust company infrastructure that allows me to get back to longer-term, more open-ended exploratory research that the artists will hopefully be able to benefit from in a couple of years.
What’s your dream about Corona’s future?
My dream about Corona – or more generally about rendering tech overall – is that it becomes so fast and well-integrated into workflows that users don’t need to notice that it even exists. They will not have to think about it at all.
What’re the most mind-blowing CGI-related researches you’ve seen recently?
Alright, I have to say it; the things that people have been able to do with deep learning are really good. Last week I was at a seminar talk given in Prague by prof. Efros from Berkeley and what he showed was quite special. I really liked his separation of a soundtrack from a video into sound coming from on-screen and off-screen sources.
The whole idea of Generative Adversarial Networks (GANs) is also really cool. NVIDIA has some nice applications like ‘hallucinating’ the faces of celebrities that don’t exist.
I’m sure we can use some of these ideas to make rendering much better.
What is the biggest blocker you would like to solve in rendering technologies today?
From the point of view of the workflow and infrastructure, the biggest blocker is definitely poor data exchange between 3D apps and different render engines. The fact that each 3D app and renderer creates its own more or less closed ecosystem is really a big hurdle for the fast-paced evolution of the 3D technologies – and it also makes the artist’s work much less effective and fun than it should be. Poor management and access of various assets is closely related to this. That’s why we want to work hard a good interop between Corona and V-Ray.
When it comes to light transport itself, we still rely on fragile algorithms like simple unidirectional path tracing which breaks in just about any complex lighting environment. Then we, the developers, need to devise various unphysical workarounds that generate images that are ’gracefully degraded’ and present this package to you, the artists, as though this was the right result.
I don’t think this approach is viable in the long term and we need to seriously think about how to be able to use some of the most advanced rendering algorithms developed to date (such as VCM, Metropolis light transport or our own Metropolised VCM etc.) while at the same time offsetting the overhead that comes with them. We also should get rid of all the remaining technical settings in the renderers and rely on AI to figure out what the best settings are.
What do you consider the most satisfying things about your job?
Coming up with new ideas, new solutions, working out some interesting math, writing up scientific papers with lots of formulas. Working with students and seeing them getting better at what they do.
Why the [bleep] are you smarter than me?
I wouldn’t be so sure that I am 😉