Request- Film Response Curves (Comparing Octane to V-Ray)

Here’s a post I’ve been meaning to write up for a while now but seeing as it’s critical to the next lesson I’m creating I can’t ignore it anymore.
For those that know me, you’ll know I love the realism Octane gives out of the box but the user demand for V-Ray is obviously a lot higher due to it being a much better overall tenderer for production.
However, there is one thing sorely lacking in V-Rray and that is realtime Film Response curves.
Octane has an awesome tone mapper inside which allows you to apply different real world film responses to the image while being able to adjust gamma (To compensate for some of the curves baking in different gammas)

For me personally, I love working with Octane but in all honesty, 90% of that reason is because it gives more realistic renders out of the box not because it’s easier to work with (Even though the rendering speed also plays a large part)
so for the sake of my subscribers who aren’t prepared to swap I’ve made it my mission to figure out why exactly Octane renders look better.

So far I’ve encountered a few reasons for that.
-(Be default it uses it’s own implementation of the GGX BRDF, that doesn’t produce the weird “spreading” on the grazing angles that V-Rays does.
-Gi simply looks different, it feels more real in shadow areas and with bounced light.
-Octane has 40 or so film response curves and realtime tone mapping that can drastically alter the look of a render with little effort and all the realistic work I’ve done in Octane uses them.

So this thread is partly a request for these curves to be implemented but also I’ve got a couple of questions to ask.
The only way I currently know how to implement the film response curves is through the Motiva ExposureControl plugin for V-Ray http://www.motivacg.com/en/exposurecontrol/ which has all the same curves as Octane.

Below you’ll see a render comparing Octane to V-Ray.

If the gamma is set to 1 in the tonemapper we get a very dark and dirty looking image so in the Octane tonemapper you correct this to be 2.2 (Or whatever you want really for artistic reasons) and all of the reflections/highlights aren’t compressed. so you can raise the gamma and basically the detail is still in the image.

Now below that there is the V-Ray version using the Motiva exposurecontrol plugin (which provides these film responses)
Loading in the same response curve gives a similar result (I’m still not happy) but we now have the problem of the gamma being too dark. So the only way I know how to adjust that in V-Ray is to change the images curve in the frame buffer. (For some reason V-Rays gamma correction in the color options doesn’t work with this plugin)
Doing this though creates really rough banding and the detail simply isn’t visible in the dark areas.

Maybe if you check this out Vlado or one of the devs you could shed some light on the differences between the two. I’d love nothing more than to be able to show subscribers how to match the look of Octane.
Octane does some really weird stuff (subtle reflections are visible in the GI pass etc) and it’s very difficult to get V-Ray to behave the same.

Cheers for any help, it’s 6am and I’ve been experimenting 16 hours straight so apologies if this is a weirdly written thread.

Below is a screenshot showing some of the curves octane uses

You can already load different LUT or OCIO profiles that emulate any kind of film response that you care to name; some of those are available for free online. We won’t be doing anything beyond right now, except perhaps an option to bake the LUT/OCIO correction into the image.

The VFB also offers quite extensive color correction tools already; I don’t really see a reason to add more, at least for the time being. Maybe later…

Best regards,
Vlado

hmm, just curious is the Fresnel value on the vray material matching that of the octane, I mean in a linear image it should not matter what the curve does to it, if that information exists there in the first place it will be revealed. If you have a different Fresnel, it would not be there or at least not as strong.

Ok, that’s understandable but the problem is I can’t find these as .Cube files anywhere.
In fact, I found the source where renders like lux and octane sourced them from but it’s raw data and I don’t know what to do with it.

Where is that? I can probably tell you what to do with it :slight_smile:

Best regards,
Vlado

I’m having issues using the curves in the VFB that “breaks” being in 32bits. It just seems like one I activate the curve, the image is converted to 8 bits. So I never use the curves for that reason.

Maybe this could be fixed and it would help doing some CC in the VFB?

I would love to have a response curve rollout in VFB, I have to use Arion FX for that and I’m jealous that so much other renderer have those straight out if the box.

Stan

It isn’t; the curves are full floats. A faster algorithm is used when the image is processed for display so that it is interactive, but when writing the final image to disk, full floating-point calculations are used.

I would love to have a response curve rollout in VFBI’m afraid it won’t happen soon (beyond the use of LUTs and color profiles).

Best regards,
Vlado

No, Octane has some weird reflections that I can’t seem to match in Max. It looks like Octane has a default GGX falloff tail of 1.5-1.6

Hey you go man! Hopefully you know hahaha

Also, I totally get you don’t want to add more color correction tools but is it possible to ad only a gamma adjustment in realtime?
How much slower is the full floating point adjustments as opposed to the “optimised” one currently in play?

Cheers, thanks so much

Just curious could you post those images as exr? and maybe your max scene to experiment with?

it is just my guess but to me the “octane look” comes from a quite soft filter it seem to use, like AA filter with quite high filter radius.
and maybe some dof on, even if only very slightly,etc

I have factored this in. It’s similar to a 25pixel cubic AA filter.

We can write a tool that converts these to LUT profiles, if you think this will be useful.

Also, I totally get you don’t want to add more color correction tools but is it possible to ad only a gamma adjustment in realtime?Why gamma specifically? Everything with “gamma” in the name is terribly confusing for users.

How much slower is the full floating point adjustments as opposed to the “optimised” one currently in play?I don’t know to be honest; I have to try. I do remember that exactly evaluating the Bezier curves for each pixel was quite slow, but it was a while ago.

Best regards,
Vlado

I would like to see the standard film stock grades available as LUTs.

We may need a small adjustment to the LUT section of the VFB to allow us to point at a folder or collection of LUTs and easily be able to flick between them. Some other industry standards for film/print might not be a bad idea either. Colour workflows and gamut are just blackholes of mashing information that could really do some with clarifaction, but no-one seems capable of deciding which is best. :slight_smile:

Well, part of my reluctance to add film curves specifically is that film is a dead technology; everything is digital now, including cameras. So from this point of view, there is very little sense in trying to emulate actual film response. However I do realize that getting a different “look” for an image might be a desirable properly, which is what LUTs and OCIO were designed for.

Best regards,
Vlado

I’m not the right person for this either :slight_smile:

Best regards,
Vlado

If those could be converted into LUT’s it would be a tremendous help, people are going to love it.

Another question I have is- Does V-Ray Calculate other objects specular highlights into the reflection pass properly?
I’m slowly piece by piece matching V-Ray to Octane but one thing I can’t seem to figure out is this effect of V-Rays reflections being much darker and I believe it’s because it’s not adding the speculars of other objects into the calculation.
If you look at the octane image you can see the reflections are very bright and match the brightness of the highlight on the cylinder next to it whereas V-Rays secondary reflections look like they aren’t accounting for the added specular.
Check the image below, some clarification would be greatly appreciated!

Yes, they are calculated correctly. However, the “max ray intensity” option and disabled “reflective GI caustics” option may suppress bright highlights in reflections in order to avoid speckles and fireflies.

Best regards,
Vlado

Feeling very stupid, literally just turned off reflective GI caustics! Thanks!

Ok, good to know. Actually, now that we have the max ray intensity option, it’s probably safe to enable GI caustics by default… I’ll have to think about it a bit.

Best regards,
Vlado