tornavis/source/blender/draw/engines
Omar Emara cc78fd4e93 Realtime Compositor: Allow limited compositing region
This patch allows the realtime compositor to be limited to a specific
compositing region that is a subset of the full render region. In the
context of the viewport compositor, when the viewport is in camera view
and has a completely opaque passepartout, the compositing region will be
limited to the visible camera region.

On the user-level, this gives the user the ability to make the result of
the compositor invariant of the aspect ratio, shift, and zoom of the
viewport, making the result in the viewport identical to the final
render compositor assuming size relative operations.

It should be noted that compositing region is the *visible* camera
region, that is, the result of the intersection of the camera region and
the render region. So the user should be careful not to shift or zoom
the view such that the camera border extends outside of the viewport to
have the aforementioned benefits. While we could implement logic to fill
the areas outside of the render region with zeros in some cases, there
are many other ambiguous cases where such a solution wouldn't work,
including the problematic case where the user zooms in very close,
making the camera region much bigger than that of the render region.

Differential Revision: https://developer.blender.org/D16899

Reviewed By: Clement Foucault
2023-01-06 14:43:37 +02:00
..
basic Cleanup: spelling in comments 2022-12-17 13:15:33 +11:00
compositor Realtime Compositor: Allow limited compositing region 2023-01-06 14:43:37 +02:00
eevee Fix T102853: radius of spot and point lamps shares same value with area lamp size 2023-01-04 12:57:33 -03:00
eevee_next Fix T102853: radius of spot and point lamps shares same value with area lamp size 2023-01-04 12:57:33 -03:00
external Fix T81002: Images drawn with the Python gpu module no longer draw on top in the Image Editor 2022-09-05 12:35:42 -03:00
gpencil GPU: Explicit Texture Usage Flags for enabling GPU Backend optimizations. 2022-12-08 23:31:05 +01:00
image Cleanup: hide 'UNUSED' macro definition for C++ 2022-12-20 19:16:33 -03:00
overlay Fix T102853: radius of spot and point lamps shares same value with area lamp size 2023-01-04 12:57:33 -03:00
select GPU: Explicit Texture Usage Flags for enabling GPU Backend optimizations. 2022-12-08 23:31:05 +01:00
workbench Metal: Optimize local shader memory usage. 2022-12-21 14:29:00 +01:00