Jesse Yurkovich ce82d4434f Fix #126324: Fallback to linear POLY curves for invalid Alembic data
Provide an appropriate fallback during Import of some incorrect Alembic
curve data and write out valid data during our Export as well.

The buggy file in question has 2 problems:
- The curve data is marked as being `kVariableOrder` but provides no
  actual `order` data. This is invalid according to Alembic code [1]
- The curve data is also marked as being `kBezierBasis` but the actual
  values are most likely not bezier judging from how many elements are
  in each curve array

This PR focuses on the first problem and allows the file to load
"correctly" - or at least as correctly as it did prior to Blender 4.2.
If we encounter such a file, we will fallback to interpreting the data
as linear POLY curves. It also ensures that we only use `kVariableOrder`
when needed during Export.

[1] 23f1c76d7c/lib/Alembic/AbcGeom/ICurves.h (L91)

Pull Request: https://projects.blender.org/blender/blender/pulls/126378
2024-08-21 18:57:09 +02:00
2024-08-21 23:20:34 +10:00
2024-08-21 23:20:34 +10:00
2024-08-21 13:35:26 +02:00
2024-08-21 23:20:34 +10:00
2023-12-08 13:28:13 +11:00

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.

Blender screenshot

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
No description provided
Readme 841 MiB
Languages
C++ 78%
Python 14.9%
C 2.9%
GLSL 1.9%
CMake 1.2%
Other 0.9%