tfg.rendering.reflectance.lambertian.brdf

Evaluates the brdf of a Lambertian surface.

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

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.
albedo A tensor of shape [A1, ..., An, 3], where the last dimension represents albedo with values in [0,1].
name A name for this op. Defaults to "lambertian_brdf".

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

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