Albedo and light intensity in the PreviewSurface shader

Hi guys,

I am using hydra directly without the USD layer in a POC app, did a mesh setup with normals, tangents, points and uvs and put together a material from preview surface shader nodes. I have one point light (SimpleLight) sitting in front of by mesh and i noticed, that my diffuse texture is rendered far to dark, so I had a look at the implementation of previewSurface.glslfx. I noticed, that the diffuse value of the provided albedo texture is divided by PI in evaluateDirectDiffuse(). I know, that this is done in PBR lighting to achieve energy conservation. However I couldn’t see, that the light intensity is in physical units ([0, PI]). It seems, that all is normalised in the [0, 1] interval. So I must be missing something here.

Is the multiplication by PI supposed to be done in the albedo data already? So should I use a scale by PI in the UVTexture shader for my albedo? If not, where is the light intensity supposed to be put in the range [0, pi], so the divide by PI in evaluateDirectDiffuse makes sense?