A bit daring proposal, but I think it could work Perhaps something for V-Ray 4.0 timeframe
The current problem of ActiveShade implementation is that ActiveShade is this ancient naive design which assumes you want two completely different sets of render settings for your production and interactive rendering mode. That approach does not work out well these days, when we mostly use automatic/progressive sampling solutions, and we do not need to fiddle with technical settings depending of if we use preview solution or final rendering solution. Another annoyance to cope with is that when switching production renderers between CPU and GPU, you will lose all your render settings every time you switch.
When it comes to artistic settings, or rather settings that affect appearance of the scene, the reason to have them duplicate is even smaller, if any.
The other issue comes with using V-Ray RT as production renderer, where all rollouts are spilled in a single tab, making user interface hard to grasp and appear quite intimidating.
So, my proposal is to take those two small rollouts of V-Ray RT in ActiveShade mode, and slap them into settings tab of V-Ray Adv, and:
- Rename the first rollout from V-Ray RT to Rendering Engine
- Engine type rollout with two choices: CPU and GPU
- When GPU selected, additional checkbox to enable OpenCL instead of CUDA
- Most of the parameters derived from V-Ray Adv render settings, such as Max time, Max noise, Max paths/pixes being derived from Progressive sampler settings, and so on. Same with states of displacement, motion blur, etc...
- When GPU is selected, simply freeze those render settings controls, that do not apply when GPU mode is active, for example freeze image sampler to Progressive, freeze global DMC stuff, freeze primary engine at brute force, limit secondary choice to BF or LC only...
And then, "simply" (i know it's not nearly simple ) use new V-Ray ADV IPR framework for GPU mode too... no clumsy ActiveShade viewport framebuffer anymore
I think as a result, we would have more streamlined experience switching between CPU and GPU renderer. Setting up GPU rendering would no longer meaning setting up some things again from scratch. It would also probably incentify a lot of people to give GPU a try. It would become a matter of simply changing one single dropdown in your render settings, then hitting render button, and if your scene remains similar enough to CPU mode, then you can simply decide to go with GPU and be rewarded by better performance, if you GPU allows it.
The current problem of ActiveShade implementation is that ActiveShade is this ancient naive design which assumes you want two completely different sets of render settings for your production and interactive rendering mode. That approach does not work out well these days, when we mostly use automatic/progressive sampling solutions, and we do not need to fiddle with technical settings depending of if we use preview solution or final rendering solution. Another annoyance to cope with is that when switching production renderers between CPU and GPU, you will lose all your render settings every time you switch.
When it comes to artistic settings, or rather settings that affect appearance of the scene, the reason to have them duplicate is even smaller, if any.
The other issue comes with using V-Ray RT as production renderer, where all rollouts are spilled in a single tab, making user interface hard to grasp and appear quite intimidating.
So, my proposal is to take those two small rollouts of V-Ray RT in ActiveShade mode, and slap them into settings tab of V-Ray Adv, and:
- Rename the first rollout from V-Ray RT to Rendering Engine
- Engine type rollout with two choices: CPU and GPU
- When GPU selected, additional checkbox to enable OpenCL instead of CUDA
- Most of the parameters derived from V-Ray Adv render settings, such as Max time, Max noise, Max paths/pixes being derived from Progressive sampler settings, and so on. Same with states of displacement, motion blur, etc...
- When GPU is selected, simply freeze those render settings controls, that do not apply when GPU mode is active, for example freeze image sampler to Progressive, freeze global DMC stuff, freeze primary engine at brute force, limit secondary choice to BF or LC only...
And then, "simply" (i know it's not nearly simple ) use new V-Ray ADV IPR framework for GPU mode too... no clumsy ActiveShade viewport framebuffer anymore
I think as a result, we would have more streamlined experience switching between CPU and GPU renderer. Setting up GPU rendering would no longer meaning setting up some things again from scratch. It would also probably incentify a lot of people to give GPU a try. It would become a matter of simply changing one single dropdown in your render settings, then hitting render button, and if your scene remains similar enough to CPU mode, then you can simply decide to go with GPU and be rewarded by better performance, if you GPU allows it.
Comment