[Sidefx-houdini-list] H13 Linear lighting/rendering
gdanzo at gmail.com
Fri Nov 22 05:37:40 EST 2013
Jordi, I'm not being harsh but you really shouldn't do gamma
correction in a shader. This is because texture values are already
filtered by the time they get there.
It is important for pixel values to be linear during filtering. This
means that you shouldn't filter values that are currently in sRGB (or
any other non-linear color space) and then apply a gamma afterwards.
If you don't pre-convert to linear, you get unpredictable levels,
especially in filtering extremes (like zooming up on an object, or at
This is one of those problems that is only really possible to
understand by testing it directly, it is all too easy just to hook it
up and go 'yep, looks about right', when in fact you are trading a
small amount of pipeline complexity for a continuing difficulty to get
I think it's a good change for Houdini to treat linear as the default.
For those that don't want to treat linearization as a simple gamma,
they have the option to disable the conversion and use whatever
transformation they prefer.
Have a good one! :)
On Fri, Nov 22, 2013 at 8:52 PM, Jordi Bares <jordibares at gmail.com> wrote:
> On those very strange cases, treat the texture as linear, do your special thing on the shader should work like a charm.
> Jordi Bares
> jordibares at gmail.com
> On 22 Nov 2013, at 07:57, jason slabber <jason.slabber at gmail.com> wrote:
>> Hey Peter
>> Have you brought this up with SESI?
>> Just wondering cause we would also like to have our own control
>> over texture colorspace. Not just auto and linear, seems a bit limiting...
>> On Thu, Nov 21, 2013 at 7:32 PM, Peter Bowmar <pbowmar at gmail.com> wrote:
>>> Hi Craig,
>>> Basically Houdini assumes non-8 bit file formats are encoded sRGB so
>>> it linearizes them (gamma .4545) on ingestion via (for example) the
>>> vex texture() call. It assumes 16/32 bit are linear (gamma 1 as you
>>> say) and uses them straight up.
>>> I think it's very useful for the home user or smaller studio but we
>>> apply LUTs to everything and control via pipeline what textures are
>>> encoded as (displacement for example might be 8 bit but linear, though
>>> that's unusual) so SESI have added some env vars to turn it all off if
>>> you want to manage it yourself.
>>> However, in a nutshell, yes, leave your viewer at gamma 2.2 since
>>> renders will be "linear" i.e. gamma 1.0 internally.
>>> Peter B
>>> On 21 November 2013 09:05, Craig Hoffman <craigleehoffman at aol.com> wrote:
>>>> I read this in the H13 docs:
>>>> Linear color workflow
>>>> Houdini is now set up to work in a linear color space/gamma of 2.2 by
>>>> VEX texture functions that work on 8-bit images will now convert the
>>> images from sRGB colorspace to linear. You can override this with a
>>> variadic argument.
>>>> I am a little confused- isn't linear gamma '1.0'?... Or is this saying
>>> that it is converting everything to 1.0 internally for calculations and
>>> then back to work properly with 2.2 screen gamma in GL Viewport and Render
>>>> So should I leave my Render View at 2.2? It seemed to look better at
>>> 1.0 for my PBR renders...
>>>> Sidefx-houdini-list mailing list
>>>> Sidefx-houdini-list at sidefx.com
>>> Peter B
>>> --No, I am not on Facebook.
>>> Sidefx-houdini-list mailing list
>>> Sidefx-houdini-list at sidefx.com
>> // http://vimeo.com/user3404661/albums // http://vimeo.com/channels/naiad
>> Sidefx-houdini-list mailing list
>> Sidefx-houdini-list at sidefx.com
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
More information about the Sidefx-houdini-list