tfg.rendering.reflectance.blinn_phong.brdf

View source on GitHub

Evaluates the specular brdf of the Blinn-Phong model.

Note:

In the following, A1 to An are optional batch dimensions, which must be broadcast compatible.

Note:

The gradient of this function is not smooth when the dot product of the normal with any light is 0.0.

direction_incoming_light A tensor of shape [A1, ..., An, 3], where the last dimension represents a normalized incoming light vector.
direction_outgoing_light A tensor of shape [A1, ..., An, 3], where the last dimension represents a normalized outgoing light vector.
surface_normal A tensor of shape [A1, ..., An, 3], where the last dimension represents a normalized surface normal.
shininess A tensor of shape [A1, ..., An, 1], where the last dimension represents a non-negative shininess coefficient.
albedo A tensor of shape [A1, ..., An, 3], where the last dimension represents albedo with values in [0,1].
brdf_normalization A bool indicating whether normalization should be applied to enforce the energy conservation property of BRDFs. Note that brdf_normalization must be set to False in order to use the original Blinn-Phong specular model.
name A name for this op. Defaults to "blinn_phong_brdf".

A tensor of shape [A1, ..., An, 3], where the last dimension represents the amount of light reflected in the outgoing light direction.

ValueError if the shape of direction_incoming_light, direction_outgoing_light, surface_normal, shininess or albedo is not supported.
InvalidArgumentError if not all of shininess values are non-negative, or if at least one element of albedo is outside of [0,1].