Hi all,
I have a non-Radiance-friendly material model consisting of 4 maps (diffuse, specular, roughness, and normal), corresponding to a Cook-Torrance GGX implementation, and I want to use its data for Radiance simulations,
Does anyone know a way to do so? Is it theoretically possible?
I might not know enough about material models, the theory behind them, and some of the important differences between them, so I also would be glad to have some good resources to start with.
There is no straightforward way to implement a spatially-varying BRDF in Radiance. It’s easy enough to control a material’s (diffuse) color with a pattern, or it’s surface normal (texture), but the specularity and roughness parameters cannot be tied into any modifiers. You could use a mixfunc to vary the degree of specularity with some effort, but not the roughness. If you have the greater ambition of exactly matching a Cook-Torrance BRDF model, that would be a separate challenge even without the maps.
So, I hate to discourage you, but I don’t think this is possible. The closest you could get is varying reflectance and specularity with a fixed roughness using one of the built-in models, such as Ward-Geisler-Moroder-Duer (plastic) or Ashikhmin-Shirley (Ashik2).
-Greg
1 Like
There are two issues here. First, the Cook-Torrance model is not implemented in Radiance. Second you want to apply a spatially variant model. As Greg mentioned, this is not really addressed by Radiance. However, depending on how much effort you can dedicate, there may be some approximations:
-
You can implement the C-T-model as a cal-file and compile it into a data-driven model by bsdf2ttree.
-
You can use mixpict to switch between surface properties based on pixel information. If you just blend between two (or few) parametrisations of the C-T model, this would allow you to e. g. linearly interpolate between two data-driven representations of the CT-models as an approximation.
I am using the second approach sometimes to simulate an alpha channel, e. g. blending between reflective surfaces and void. One example is the mapped image of a flame here: Views on ancient lighting: Modelling lighting devices and their effects in architecture | Zenodo . Axel Jacob’s brilliant “Radiance Cookbook” has a similar example about transparent textures on pages 27-34.
Best regards, Lars.
2 Likes