eefee47a8acbcdb71add432fc789f41676627da4
Previously we'd just allocate extra space for additional data for the deferred loading, and then do pointer arithmetic to access that data. This is cryptic and not type safe. Instead, use an internal type deriving from `PreviewImage`, and manage that internally. This ensures type safety, while keeping this as implementation detail (not visible outside of the preview image API) and keeping internals easy to understand. Some code did shallow copies of preview images, making ownership unclear. That made things a bit tricky, but I've made support for shallow copies explicit now and noted this in comments.
…
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%
