Converting textures for ACES

   299   5   2
User Avatar
Member
267 posts
Joined: July 2013
Offline
If using Karma, I believe Houdini 20 converts sRGB texture (albedo/diffuse map) internally and automatically to work correctly with ACES color space.

Presumably maps such as normal, displacement and roughness, should not be converted to ACES. To stop them being converted, should they be kept as .exr files so Houdini knows not to alter them?
User Avatar
Member
280 posts
Joined: Jan. 2015
Offline
Depends on your OCIO config rules. But if you set image type in your shader to anything except color, like vector or float no conversion should happen.
User Avatar
Member
267 posts
Joined: July 2013
Offline
My OCIO config rules are set at their defaults. So how does Houdini recognise these different types of files (normal, displacement)? Presumably the normal is a vector type and displacement is a float? Is it by their file extension (e.g. .exr)?
User Avatar
Member
284 posts
Joined: March 2011
Online
I believe Houdini still looks for some hints in the filename, like "Raw", "ACEScg", so on and so forth. But take a further look at the docs for that, please.

Here I've developed a pipeline with pdg to always pre-convert everything to the aces colorspace. Normal and similar types of passes are converted to ACES, but numerically they stay the same, but they are in the ACES colorspace, that's why Houdini needs to know the incoming space to decide how to do the conversion.
User Avatar
Member
267 posts
Joined: July 2013
Offline
Hi guilhermecasagrandi,

What is pdg? How do you convert them?
User Avatar
Member
284 posts
Joined: March 2011
Online
pdg = tops. There's a node that uses the OIIO tool from the Academy. That's the fastest way, but you could either run a copnet to do the same thing.
Nevertheless, you will need to sort the files to set the incoming space for conversion. Here I'm using regex to scan the file names for hints. Things like "normal", "Normal", "N" are treated like raw. The same for "Displacement", "disp", "height" (I coded to use height = displacement). That's the idea.
  • Quick Links