Community
Arnold General Rendering Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

rombotools::freebie::tonemappers

10 REPLIES 10
Reply
Message 1 of 11
maxtarpini
524 Views, 10 Replies

rombotools::freebie::tonemappers

This is a tonemapping display driver (imager). It does everything on its own and does not belong to OCIO config files. Notably it implements AGx-Default, AGx-Punchy and the newly released Khronos PBR Neutral tonemapper along with relevant tonemappers from games (like Unreal and Uncharted) and many others coming from imaging/vision research fields (like Drago and Lottes). On the README file you'll find overviews, key characteristics and use cases for each of the tonemapper available.

 

To setup the correct pipeline all you have to do is to set the ARV display to sRGB (or Raw) from your View Transform rollout after having set the Color Mgmt to Legacy (or at least to have the Arnold color space set to Linear-sRGB, this is for textures).

Eventually from an imagers list add a Rombo Tonemapper.

There're no parameters for the tonemappers themshelves. You can however select 'Is Raw' if your display is setup so and use the 'Exposure' param to align the tonemapper output. Default tonemapper is PBRNeutral. You may want to disable the rombotonemapper either using the 'enable' checkbox from the UI or the 'Disabled' option you find in the tonemappers rollout for easy testing with Kick for example.

Btw, rombo tonemapper works pretty cool with Kick for display while rendering.
If you wanna save the image you better create a new driver and save it without the tonemapper applied.

You can download the plugin from here :
https://www.rombo.tools/downloads/romboTonemapper.zip

 

Now, let's see some use case :

**Automotive rendering is hard. Because as soon as one tweaks shadows and highlights he has good chances to flat the metallic paint down. Here we're using rombo metallicpaint with BDRF-based flakes.

For example with sRGB we've already flat highlights.

Screenshot from 2024-08-17 22-37-03_sRGB.png

With ACES we recover them a bit (look at the car front between the two headlights).

Screenshot from 2024-08-17 22-32-54_ACES.png

 

However here the best performing tonemapper is AGx-Default.
Highlights are fully preserved and look how the glossy highlight is really nice and vibrant giving a sense of depth.
Screenshot from 2024-08-17 22-33-32_AGxDefault.png

If you click on an image, use then the arrows to go prev and next for better comparisons.


**
Now let's see how we deal with colors using ie. a rombo cloth shader. 


ACEScg remains a bit dark and gloomy.
rombocloth_ACES.png

 

PBRNeutral instead simply enhances colors while keeping a vivid contrast.
rombocloth_PBRNeutral.png

 

 


**
We all know that sky rendering is complex because of HDR and those smooth gradients up there.
Here using upcoming rombo clouds and sky.

 

Effectively sRGB can't cope with that.

Burned out highlights and flat gradient.

romboclouds_srgb.png

 

ACES is way better but 'closes' the gradient a bit too much and has an hard time dealing with the sun HDR light.

romboclouds_aces.png

 

AGx-Punchy instead does a great job keeping the highlight white while still giving the gradient full  shades.

romboclouds_AGxPunchy.png


We see how each of these tonemappers has its strengths, making them suitable for different types of content whether working on games, films etc. These tonemappers covers a wide spectrum of aesthetic goals and technical reqs, from realistic and neutral to cinematic and punchy looks... experimenting we may found the best one for the task we're doing .. easy stuff btw because once a scene is rendered, appling a different tonemapper happens in real-time with Arnold. 

Cheers, 🖖

 

10 REPLIES 10
Message 2 of 11
maxtarpini
in reply to: maxtarpini

**Let's see how we deal with blacks. None among ACES, PBRNeutral and AGx-Default are doing that great. Here it is where we may increase a bit the Exposure param to get those darks into life, it will then be on the tonemapper itself to not create too harsh highlights etc (because the exposure factor is introduced before the tonemapping stage while we're already linear). However we have a better approach. Just use AGx-Punchy. Works great out-of-the-box.

 

ACES.

rombolego_ACES.png

 

PBRNeutral.

rombolego_PBRNeutral.png

 

AGx-Punchy ! Also the blues here are brighter and less saturated than ACES while the yellows remain vibrant.

rombolego_AGxPunchy.png

 

Message 3 of 11
maxtarpini
in reply to: maxtarpini

Here a single shot with the Unreal tonemapper where we get incredible shades on that black metallic paint.

rombo_carpaint.png

Message 4 of 11
maxtarpini
in reply to: maxtarpini

Looks like Houdini >20 is set up to sRGB-Untonemapped by default so it's all cool if you apply a rombo tonemapper. If you wanna be sure you can still check in the Houndini Render View and expand the toolbar if it's hidden by clicking on the little arrow on the lef just above 'active render' then untick 'Enable OpenColorIO' . The weird thing with Houdini and Arnold is that .. cough-cough .. imagers are not real-time in the sense that for any tweak on any imager.. the render will re-start from scratch .. cough-cough.

 

Here one of the demo scene that comes with rombotools rendered with PBRNeutral. 

rombotools_tonemapper_houdini205.png

Message 5 of 11
maxtarpini
in reply to: maxtarpini

Here dealing with some cinematic photoreal imaging.
ACES is doing great, AGx mmhh, PBRNeutral is almost always a guarantee.
However Unreal is king here, great saturation and contrast.

 

ACEScg

rombocyborg_ACES.png

 

PBRNeutral

rombocyborg_PBRNeutral.png

 

AGx

rombocyborg_AGx.png

 

Unreal

rombocyborg_unreal.png

🖖

Message 6 of 11
maxtarpini
in reply to: maxtarpini

Btw, I keep seeing people applying a color transform to ie. driver_png and then wondering why their kick display window ain't affected by that. Well driver_png is for saving your image. If you wanna apply a color space to the kick window (that's the driver_kick) you should do it from the kick command line with for example :

- ocs ACEScg

 

Leave it as it is (sRGB by default when no option specified) if instead you use romboImagerTonemapper.

Message 7 of 11
maxtarpini
in reply to: maxtarpini

For mtoa users.. added aiImagerRomboTonemapperTemplate.py to have the tonemapper parameters within the imager UI block in the ARV. You need to add an mtoa var (MTOA_TEMPLATES_PATH) in your maya.env pointing to a folder that contains that file.

 

rombo_imager_UI3.png

Message 8 of 11
IRONIC3D
in reply to: maxtarpini

Hey Max,

is the MtoA aiImagerRomboTonemapperTemplate.py in the latest public release of RtoA?

Never mind, found it. thank you 🙂

Message 9 of 11
rachid_1
in reply to: maxtarpini

nice sharing
file deleted

 

Message 10 of 11
maxtarpini
in reply to: rachid_1

Thanks rachid_1 but all metadata is already there from the C++ library and yours from the mtd file would just conflict with that. Please remove it.

Message 11 of 11
rachid_1
in reply to: maxtarpini

ok deleted

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report