New vray framebuffer doesn`t apply adjustments to render elements.

Hello!

Couple of question:
- Is it normal that new vray FB apply postwork adjustments you do in FB only to beauty pass? All other render elements saved without it?
- Can you roll back to older vray FB in max 2020?

Thanks!

Yes, it is. The old VFB did display the color corrections in the elements, but they weren’t saved in the image.
Yes, you can bring back the old VFB with this environment variable:
VRAY_VFB2_ENABLED=0

Saving via Separate Render Chanels always used to apply corrections to most render channels in V-Ray Next. I also did receive questions regarding this from psd-manager customers that use V-Ray 5, because the change also influences the psd-manager export. So I had a lengthy discussion about this with a user to understand where the need for this is actually coming from.
The use case basically is using the color corrections to do tone mapping (using e.g. Exposure, Filmic Tonemap) and then saving to a low dynamic range format. This workflow is where the new framebuffer falls short now, because it only modifies the end result (RGB or effectsResult). So additional channels like VRayLightSelects, Reflection etc. end up overexposed and are not as useful in post production anymore when working in low dynamic range (8/16 bits).

Regards,
Daniel

Thanks a lot Daniel! Looks like new VFB useless for post production. Wonderful update of VFB X)

Hi,
I’ve been struggling with this problem too since I started to use the inital version of Vray 5, but I found a workaround.
- Go into the layer and select the Composite source mode.
- Create a render element layer (Specular, Reflection, etc.)
- then save the image manually, the color correction you made in the VFB would be applied to your image.

This system do the trick for me but it is not optimal as I have to save each render elements manually one by one.
It’s definitely not handy if you make an animation or if you have to save many images everyday.

Another trick would be to extract a LUT from the VFB2. I’ve seen that you can do that now in Vray 5.1. Just right click in the layers “Save as LUT” and just extract the .cube file.
If you use Nuke you can then use vectorfield to use your LUT and apply it.

@hermit.crab , just to give you my reason why I need the render element with the color correction applied on them. When working with a client, he always ask me for Specular, Reflection and Refraction pass just in case he need to make some adjustments, He is just making adjustment in photoshop in 8 or 16 bits. Saving these render elements several times per days can be really frustrating as it was really fast and easier in VFB1.
I’m not saying that is should work like this for everybody but giving the choice to the user for controlling this, would be very nice. Like having a checkbox in the settings of VFB to apply or not the Color correction to all the render elements.
What do you think about it ?

Pardon, the corrections were indeed saved through when outputting ‘Separate render channels’. I would have to ask the development team if there is a reason for this change or if it is something missed out. For now, saving a LUT file and applying it in post seems like a decent workaround.

EDIT: The behavior change is intentional due to the inaccuracy of baking color corrections onto the render passes. For now, use the LUT workaround. We’ll brainstorm additionally for a more appropriate solution.

The question that comes to mind is why would the user demote FP material to do compositing in integers?
Is this common practice? If it is, what benefits would it bring to the table? Should we promote it, even when there are obvious reasons to discourage it from a technical point of view?

Can only speak for myself, but working in 32 bit in Photoshop is not ideal. We almost always switch to 16bit right away. Having the ability to have color corrections applied to render elements allow us to make easier/ more predictable adjustments in Photoshop when working with the final rgb pass.

Hi @Lele,

For my point of view having the render elements Color Corrected applied on them is a gain of time.
It means that I’ll not have to open another software like photoshop or nuke to apply these CC on them with the help of an LUT.
I don’t say that it is the correct way to compose the images but it just give my client (art director) the ability to make some artistic changes on the renders I give him. Once again my use for this workflow is only for reflection, specular and rarely refraction, it can be useful to just make the image pop a bit more.
And having to apply these CC manually on every render I need to send, every day, is a huge waste of time and also memory because I’ll have to save the original version and the Color corrected version.
I think the new layer system in the VFB2 has been made to fasten the workflow of the artist and being able to do all these small changes directly inside VRay, so giving the optional possibility to apply the CC with a checkbox f.e. is not a bad idea.
The problem for many people is that it was possible to do it for a long time in the previous versions of VRay. I know that changes in habits is always difficult, but here is not the question, it’s more about being more efficient and not losing time on unnecessary things.

And sure I understand that in the case of a linear workflow case scenario applying the CC is not the correct way :slight_smile:

What do you think ?

I see the point, indeed.
Well, there would be ways to do a few things automatically now that we have most of the maxscript controls implemented.
Like take a given CC, apply it to each RE individually, and saving it out, via the composite tab.

Alas, i’d think the best of ways would be to use the VFB2 (or possibly the future standalone editor) to set up the shot, and then pass the vrimg file over, along with a vfb layer preset file.
so one could get a backToBeauty recomp and grading done, down even to object selections and masks, and pass the whole thing on for changes.
Once changes are implemented (and if it is to work well towards this goal of revisions, perhaps we’d need an annotation layer. Which is the suggestion that will ruin my friendship with Yavor. :wink: ), the new layer preset could be sent back, so the full latitude of compositing could take over.

It would be also very interesting for us to hear what exactly is particularly useful of photoshop, in term of tools and workflows, so that what is humanly possible, and makes operative sense, could perhaps be implemented over time.
It’s bound to be a moving target over the years, alas standing still doesn’t get one get anywhere at all. :slight_smile:

Thoughts? Suggestions? Warnings?

I could also maybe share our insights to this topic, because I was the one talking quite heavily with Daniel (psd-manager developer) about this topic.

We mainly try to stick on just 8bit most of the time, we only change this if we think the image needs a 16/32bit output (night, dark, golden hour, etc.). The main reason why we tend to use 8bit is because photoshop is still in 2021 sooo slow in everything higher than 8bit and many (not all) dont really see that the benefits are worth the outcome. Second one, not so important but a valid point, file sizes. With different iterations and change requests from the client, internal, etc. it would also have quite and impact if you would switch to 16 or 32bit.

So we try to get the color corrections as much as possible right in the vfb and then working, on the details in photoshop. Therefor we were using the exposure with the highlight burn quite heavy in order to tone down overexposed areas. In vray next this was working quite well together with the psd-manager. But in vray 5 it doesnt, because the vfb corrections arent getting applied to all the other elements like denoiser, lightmixes, passes, etc.

@lele , your proposition seem interesting with the vrimg, however would it not be more simple if, with one script/button/whatever when the render is finished, it goes on composite mode and create one render element layer (reflection, specular, etc.) and save it separately applying the CC, it will use de dropdown menu to select the next render element and save it, etc.
Basically, what I was doing manually for each render elements. You can see attached my process.
This way you don’t have to save the vrimg with all the render elements inside then process it, again I’m just thinking about memory efficiency.

For the tools used in Photoshop, mostly I used these adjustment layers : vibrance (that’s a bit different that hue), photo filter, invert, gradient, gradient map, curve, and brightness/contrast.
So for the moment in the VFB2 I can create the curve and the photo filter with a constant.

A Note layer or a way to rename the layers would be a very nice addition to the VFB2 !

In the layer properties, the first box with the layer name, which defaults to the layer class, is fully editable.
Yes, the method you propose for the layers is what i had in mind, more or less.
It’s still likely better done from within C++ (i.e. some option.), but i’ll surely look into it.

Thanks for the tools and methods list!

Last but not least: so you’d be all cool if the applicaiton of the CCs led to *different* outputs, due to precision errors?
Meaning, you’re already comfortable doing this with Photoshop, at lower bit depth, and are happy with the results?

Oh cool I didn’t see that this box was editable, thanks !
I was trying a right click on the layers and could not find a rename option.

If you think it’s best in C++ I’m totally ok for it as I have zero knowledge in coding :slight_smile:

From my side I’m OK with the precision errors, because if I need to have it 100% correct I’ll go for the LUT solution in 32 bits.

Thanks @lele for the help !

Same here, we never had any issues with “precision errors”. If we would need something absolutely precise in terms of colors we would use 32bit anyway.
For us a simple option to “bake” all color corrections into every layer/element would be sufficient.

Another questions not directly connected to the color corrections: Is it possible to let the vray framebuffer tab, use the saving location and filename from the max save dialog?

Duly noted, thank you for the feedback! :slight_smile:

Another questions not directly connected to the color corrections: Is it possible to let the vray framebuffer tab, use the saving location and filename from the max save dialog?
I don’t quite understand. Could you give me a simple example?

Thx :smile:

Regarding the “offtopic” saving:
I would like to know if it is possible to have the saving location and filename set via the common render output save files and for the vray framebuffer tab save the raw image file at the same location as set in the common tab. So that you dont need to set the saving path a second time. Maybe just like a second check box on that tab like “Save to same location as main output”


if you are photoshoping 8bit output from vray, and (as somebody above mentioned) you liked „highlight burn” tonemapping than just bake it into render via color mapping options. every render element has option to respect that correction or not.
if you are not using “lens effects” from VFB2 - you are sorted.
if you need those than use VRayUnclampedColor element, put it in the layer stack and save separately with glare, tonemaping and whatever else you need. just one additional saving operation.

option B - use ocio config in display corrections of VFB2 to tonemap render elements that you need. also one additional saving operation.

edit: actually with VRayUnclampedColor it saves everything right away.

I would vote for adding the ability to save the color correction to render elements especially the Filmic tonemap and exposure.
Using color mapping > burn value can cause endless issues with lens effect, light mix, and few other places so I would avoid it.

lens effects work, light mixing works through Composite layer group/folder with VRayLightSelect elements not color mapped.
what else?