summaryrefslogtreecommitdiff
path: root/thirdparty/xatlas/xatlas.cpp
diff options
context:
space:
mode:
authorRobbie Cooper <cooperra@users.noreply.github.com>2022-10-08 05:33:47 -0400
committerRobbie Cooper <cooperra@users.noreply.github.com>2022-10-10 03:20:59 -0400
commit79d3e090cd7752e37aabf1efe185bcd543ec5f5a (patch)
treed2ade1e90bc6138f7db6df97461132b9d0954ede /thirdparty/xatlas/xatlas.cpp
parentca25c6e0a3f25948ee4a197f3442c66f019e7424 (diff)
Vulkan Clustered: Fix culling of negatively-scaled objects
Negatively scaled objects should be mirrored. This is already implemented, but it breaks when mirrored and non-mirrored instances of the same object are visible together. It turns out that the code that skips-over repeats in `RenderForwardClustered::_render_list_template` also skips the code that accounts for the culling mode of mirrored objects. The solution here is to consider the `mirror` flag when determining repeats. This might result in more draw commands than necessary since a mirrored object can split a group of non-mirrored instances in two. This problem doesn't appear in the mobile renderer because the repeat optimization isn't implemented there yet. The problem still appears in MultiMeshInstance3D in *all* renderers. Fixes #62879 and #58546.
Diffstat (limited to 'thirdparty/xatlas/xatlas.cpp')
0 files changed, 0 insertions, 0 deletions