tests: Robustify depth range test case

This commit is contained in:
rdb 2021-08-31 14:02:49 +02:00
parent c96189e53c
commit 0ae8d8f315

View File

@ -159,23 +159,23 @@ def test_inverted_depth_clipping(depth_region):
def test_depth_range(depth_region): def test_depth_range(depth_region):
try: try:
depth_region.set_depth_range(0.25, 0.75) depth_region.set_depth_range(0.25, 0.75)
z = render_depth_pixel(depth_region, 1.00001, near=1, far=10) z = render_depth_pixel(depth_region, 1.00001, near=1, far=10, clear=0.0)
assert z == pytest.approx(0.25, rel=0.01) assert z == pytest.approx(0.25, rel=0.01)
z = render_depth_pixel(depth_region, 10, near=1, far=10) z = render_depth_pixel(depth_region, 9.99999, near=1, far=10, clear=0.0)
assert z == pytest.approx(0.75, rel=0.01) assert z == pytest.approx(0.75, rel=0.01)
# Combines with DepthOffsetAttrib range. # Combines with DepthOffsetAttrib range.
state = core.RenderState.make(core.DepthOffsetAttrib.make(0, 0.25, 0.75)) state = core.RenderState.make(core.DepthOffsetAttrib.make(0, 0.25, 0.75))
z = render_depth_pixel(depth_region, 1.00001, near=1, far=10, state=state) z = render_depth_pixel(depth_region, 1.00001, near=1, far=10, clear=0.0, state=state)
assert z == pytest.approx(0.375, rel=0.01) assert z == pytest.approx(0.375, rel=0.01)
# Reverse the depth range. # Reverse the depth range.
depth_region.set_depth_range(0.75, 0.25) depth_region.set_depth_range(0.75, 0.25)
z = render_depth_pixel(depth_region, 1.00001, near=1, far=10) z = render_depth_pixel(depth_region, 1.00001, near=1, far=10, clear=0.0)
assert z == pytest.approx(0.75, rel=0.01) assert z == pytest.approx(0.75, rel=0.01)
z = render_depth_pixel(depth_region, 10, near=1, far=10) z = render_depth_pixel(depth_region, 9.99999, near=1, far=10, clear=0.0)
assert z == pytest.approx(0.25, rel=0.01) assert z == pytest.approx(0.25, rel=0.01)
finally: finally:
depth_region.set_depth_range(0, 1) depth_region.set_depth_range(0, 1)