57ca937a7cbec24c2ea644b14aafcaa91c8900e5
If points are beind the camera, we don't really want to erase them. This patch marks invalid coordinates thus preventing them from intersecting with a eraser. The reason for using a large value to indicate "invalid coordinate"s are: - No need to further break down the way we process `src_to_dist` point matching array for `hard_eraser` `soft_eraser`, makes the entire logic much easier. - No eraser is gonna be touching such a large coordinate of `1e20`. Technically there's this case where if a segment crosses the near or far clipping plane (to handle this correctly, you'll need to split that segment into two at the clipping plane position and it increases complexity a lot), and then you will have undefined erasing behaviour, however the worse case is that the one segment was completely removed, and in such case I think it's acceptable. Pull Request: https://projects.blender.org/blender/blender/pulls/128738
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
