Merge remote-tracking branch 'origin' into generative

This commit is contained in:
Matt Tancik committed 2023-02-02 13:14:12 -08:00
commit 47fc0a570c
2 files changed
+35 -1

No files matched your search

+34
View File
@@ -332,3 +332,37 @@ class NormalsRenderer(nn.Module):
"""Calculate normals along the ray."""
n = torch.sum(weights * normals, dim=-2)
return n
class LambertianShadingRenderer(nn.Module):
"""Calculate Lambertian shading."""
@classmethod
def forward(
cls,
rgb: TensorType["bs":..., 3],
normals: TensorType["bs":..., 3],
light_direction: TensorType["bs":..., 3],
shading_weight: float = 1.0,
detach_normals=True,
):
"""Calculate Lambertian shading.
Args:
rgb: Accumulated rgb along a ray.
normals: Accumulated normals along a ray.
light_direction: Direction of light source.
shading_weight: Lambertian shading (1.0) vs. ambient lighting (0.0) ratio
detach_normals: Detach normals from the computation graph when computing shading.
Returns:
Textureless Lambertian shading, Lambertian shading
"""
if detach_normals:
normals = normals.detach()
lambertian = (1 - shading_weight) + shading_weight * (normals @ light_direction).clamp(min=0)
shaded = lambertian.unsqueeze(-1).repeat(1, 3)
shaded_albedo = rgb * lambertian.unsqueeze(-1)
return shaded, shaded_albedo
+1 -1
View File
@@ -826,7 +826,7 @@ class ViewerState:
else:
image_height = (num_vis_rays / aspect_ratio) ** 0.5
image_height = int(round(image_height, -1))
image_height = min(self.max_resolution, image_height)
image_height = max(min(self.max_resolution, image_height), 30)
image_width = int(image_height * aspect_ratio)
if image_width > self.max_resolution:
image_width = self.max_resolution