Page MenuHome

Adaptive displacement off-screen culling/dicing and camera shift.
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Suse Linux 15.0
Graphics card: NVidia GTX 560ti (official drivers)

Blender Version
Broken: 2.81 e2df789c4800

Short description of error
Adjusting the camera's Shift X/Y values gives unexpected off-screen culling results and high memory use.

Exact steps for others to reproduce the error

note: a separate camera (Camera.001) is used to control the dicing as it better shows the issue, but the same applies with a single camera setup.

  • Open adaptive_displacement_camera_shift.blend
  • Render and note that the dicing is centred on the plane as expected
  • If Camera.001 is moved along X direction, the culling position changes as expected
  • But if the Camera.001 Shift X value is set to 0.800 - instead of the subdivided area shifting to the right, it expands out along the X axis. Ram usage is also high.

Examples:

  1. Camera.001 in original position (peak memory: 69.19M):

  1. Camera.001 moved along X axis to 4m units (peak memory: 36.03M):

  1. Camera.001 in original position but camera Shift X value set to 0.800 (peak memory: 137.00M):

Expected result for 3. would be for similar culling and memory usage as 2.

So it isn't currently possible to split a large render into smaller sections as a way to reduce RAM/VRAM usage, then stitch externally.

Event Timeline

@Mai Lavelle (maiself), I'm not sure if this involves adaptive render subdvision, but can you take a look?

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Jan 9 2020, 3:33 PM

Did some digging, but spending too much time here.

This seems to be somewhat reversed, so Shift X is being used, it expands as @Paul R (intracube) , to add: if it is negative it shrinks...

I see it being used in QuadDice::eval_projected (rastertoworld takes shift X into account eventually), but not sure if this has to do with it
transform_perspective(&params.camera->rastertoworld, P);

Will confirm for now and have a look again later...

Bastien Montagne (mont29) changed the subtype of this task from "Report" to "Bug".Jan 15 2020, 4:42 PM

Thanks for taking a look.

Similarly to the above; positive Shift Y values grow the subdivision region, negative areas shrink it.

A related issue;
Changing Output->Dimensions->Aspect also gives unexpected results. Setting Y to positive values causes the region to grow on both dimensions, but the expected result would be to only expand on the X dimension: