Which material parameters does one normally support in a forward and deferred PBR pipeline?
I currently use the following material parameters:
diffuse color (3x float)
specular color (3x float)
roughness/smootness (1x float) (or the specular exponent/shininess for non-PBR BRDFs such as the Phong/Blinn family)
specular reflection coefficient (used in Schlick's approximation) /index of refraction (1x float) (the index of refraction of the camera medium can be set to 1 or some arbitrary value in a separate constant buffer)
The dissolve/opacity of the material is always handled in a forward pass.
So this results in 8 floats = 2 material textures in the GBuffer so far (I do not use AO at the moment).
But how do you incorporate "metalness"? Another float?
Furthermore, Kd = cdiff/pi and Ks = cspec/pi, but what is actually stored in the diffuse and specular texture having a range of [0,1]: Kd/Ks or cdiff/cspec? I think the latter, although the division by pi ruins the images?
↧