mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-12 10:55:57 +08:00
36 lines
853 B
Python
36 lines
853 B
Python
"""
|
|
Test renderers
|
|
"""
|
|
import pytest
|
|
import torch
|
|
|
|
from mattport.nerf import renderers
|
|
|
|
|
|
def test_rgb_renderer():
|
|
"""Test RGB volumetric rendering"""
|
|
num_samples = 10
|
|
|
|
rgb = torch.ones((3, num_samples, 3))
|
|
densities = torch.ones((3, num_samples, 1))
|
|
deltas = torch.ones((3, num_samples))
|
|
|
|
rgb_renderer = renderers.RGBRenderer()
|
|
|
|
assert rgb_renderer.required_field_outputs is not None
|
|
|
|
out = rgb_renderer(rgb=rgb, density=densities, deltas=deltas)
|
|
assert torch.max(out.rgb) > 0.9
|
|
|
|
out = rgb_renderer(rgb=rgb * 0, density=densities, deltas=deltas)
|
|
assert torch.max(out.rgb) == pytest.approx(0)
|
|
|
|
out = rgb_renderer(rgb=rgb, density=densities * 0, deltas=deltas)
|
|
assert torch.max(out.rgb) == pytest.approx(0)
|
|
|
|
# TODO Tancik: Add more precise tests
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_rgb_renderer()
|