I’m fairly new to V-Ray for Maya. I have always been using CPU renderes but as of now I want to move to a GPU solution since the work I’ll be doing won’t require all the fancy features of the CPU V-Ray.
I’m currently using the beta version for Maya 3.0 (3.05.04). I would like to know which parameters from all the V-Ray related tabs inside of Maya have an influence on RT GPU (besides of course the RT tab)? If this isn’t a question with a quick response I would then as well appreciate a reference to any educational resources about RT. Furthermore I still do not know how to render an image sequence (animation) with RT.
We are glad to hear that you want to move and test our RT GPU render engine. There are few important thing to know about this.
First make sure that your graphic card has enough memory to handle the current project. Also make a test render in order to be sure that all features and additional plugins that you are using are supported and the final result duplicates the one from the CPU.
We have a list with features and option supported by the RT GPU here:
I still do not know how to render an image sequence (animation) with RT.
There is an option “Render animation with V-Ray RT” under the Maya Render menu.
If you have any questions or problems do not hesitate to contact us via our support mail.
thanks for replying! I only knew about this list in the V-Ray for 3ds Max section. Great that there is one for Maya as well now! I went through it and as it seems RT GPU has all the features that I need. I already have a few test scenes where the result is more than satisfying. The last bits that I still to find out is how to control the quality while rendering with GPU, for example, if I set the Max. noise under the Adaptive Sampling rollout (RT panel) to something like 0.003, most of the passes (reflect, GI, specular) they all finish more or less noise free. Lighting however is then still quite noisy. So my question would be, how do I only raise the lighting pass quality without having to lower the global Max. noise which would result in longer render times since all passes will render longer. On the CPU it would be simply by increasing the light source’s samples but what do I change while in RT?
If you can share some images (or scene) it would be easier to tell what is going on (also we may run a profiler to know better) … Lighting/GI/Reflection/Refraction/Specular render elements usually are enough.
RT GPU will ignore the light samples param. Currently it will use the russian roulette technique for calculating lighting and this may cause a bit more noise in the lighting for some scenes, especially if you have a lot of lights. We plan to have option to turn off the russian roulette for lights in future.
At the moment we have such option, but it is for the materials. Basically it makes the GI a bit worse, but the glossy parts a lot cleaner. But this is not your case .. (it is a bit experimental option so it can be turned on with environment variable only - “VRAY_RT_GPU_RECURSIVE_BLEND=1”. It is not official feature, so use at your own risk :). If you decide to test, you can always turn it off by setting “VRAY_RT_GPU_RECURSIVE_BLEND=0”. You have to restart Maya/V-Ray in order the changes to appear).
Here is one of my test scenes and this time the reflect/specular channels are far noisier. Is there anything one can do except letting it render longer? Rendered with GTX 780 6GB, render time: 49min59sec.
Close Maya, set environment variable VRAY_RT_GPU_RECURSIVE_BLEND=1, start Maya again and see if it is any better.
(if you have done this correctly, in the vray.exe command line log there should be line “Using brute force for blend mtl” and the reflection pass should become a lot clearer much faster)
As I said before, keep in mind that this is a bit “experimental” and “not official” feature
I tried RECURSIVE_BLEND=1 and it helps a lot! The reflect pass was smoother after 10min of rendering than a 2h render with RECURSIVE_BLEND=0. And the best thing is that I didn’t notice any increase in noise in the GI pass. Thank you very much! This feature should definitely become official ;).
I have two more questions:
-When I set the Max. noise value to something diffrent than 0.000 I notice that once the areas that meet the treshhold value have been rendered out, the GPU load drops even to a point where the GPU is only utilized to 1-2%. I guess this would mean that this option is not adaptive? Is there a way to make RT stay at 100% and take over diffrent areas when others have met the treshhold?
-Which GI engines are supported by RT GPU? If more than one (brute force) which one would be most suitable for animations?
Probably we should consider making this an option (its not like we have too few options already, but seems like this could save the day). Will be a bit tricky to explain how/when to use it (usually it makes the feedback worse - images come slower, but are with much higher quality; the GI usually gets a bit worse; it might have some more params to be tweaked with some GPUs/scenes, etc.).
For your questions :
1. For the moment no - if there are small number of noisy pixels left, the GPU usage will go down, there is nothing you can do. In the future we can probably think of something for that, too.
2. For primary engine, only Brute Force is supported (if something else is selected, RT GPU will ignore it and use Brute Force instead). For the Seconday Engine, Brute Force and Light Cache are supported. So you can choose BF/BF or BF/LC (BF/BF is flicker free; for the LC and animations you can check that Chaos Docs; Pretty much what goes for the CPU production render goes the same for the GPU version).
Ideally this will be the case, yes. Though probably for CUDA only.
-When I set the Max. noise value to something diffrent than 0.000 I notice that once the areas that meet the treshhold value have been rendered out, the GPU load drops even to a point where the GPU is only utilized to 1-2%. I guess this would mean that this option is not adaptive? Is there a way to make RT stay at 100% and take over diffrent areas when others have met the treshhold?This is exactly what happens, however when there are only a few pixels left, V-Ray spends more time updating the frame buffer and recalculating the AA mask than doing actual rendering. This will be a bit better for future builds.
-Which GI engines are supported by RT GPU? If more than one (brute force) which one would be most suitable for animations?For the moment, only brute force GI, and the light cache. Which would be more suitable for animations, depends. F.e. if you are doing fly-throughs, then the light cache for secondary GI may help a lot as you can compute it just once for the entire animation, like I did in this example:
The light cache could also work well for animations with moving objects, though you might need to fiddle a bit with settings to minimize any flickering. If you have mostly open scenes without a lot of light bounces, then brute force will be fine.
All right, thanks! It does all make a lot more sense to me now. Do you maybe know why the statistics are not shown in the VFB? I have Show statistics checked.
I just wanted to ask whether the “VRAY_RT_GPU_RECURSIVE_BLEND=1” option is still available now that we have the official release of V-Ray for Maya 3.0? I doesn’t seem to work anymore. Neither does it show up in the vray.exe console anymore nor is there any speed increase over light cache in seconday bounces.
We have still a work to do on it, so it is not officially there, but unofficially you can use it with the environment variable (we haven’t removed anything in that regard).
When you add new env var, you have to close and restart Maya in order the change to have effect, there should be line in the vray.exe log mentioning it too (I think it was something like “Using brute force blend mtl”).
I am really not sure what was wrong, I just reinstalled V-Ray and VRAY_RT_GPU_RECURSIVE_BLEND=1 worked again as expected. Should have tried reinstalling before posting ;). Anyway while we are at it, is there some kind of a roadmap for the development of RT GPU? I would be interested in features like adaptive sampling, SSS, or even displacement. This is no begging or anything, I am just curious how the development of these features is going
SSS and hair are already in 3.1 for Max, they are coming for Maya too.
We have displacement, subdivision, texture baking, UDIM textures, more procedural textures, speed improvements and some other stuff too.
They are in some internal builds and have to pass some tests and so on, before we can mark them “complete”, but yes, you can expect them coming.