ed29ab303c5c87befb91f1e041cdf33bbb01bc98
We recently started using blenloader code in blendthumb to avoid having to reimplement some parts of .blend file parsing. While this works, it has the side effect that on Windows referencing blenloader code increased the binary size of blendthumb from < 1MB to ~75 MB. That happens because this dependency drags along lots of other code which effectively is unused, but the compiler is unable to remove it. There didn't seem to be a simple solution to make msvc optimize the unused code away. This patch solves the issue by extracting the shared code into a separate `blenloader_core` module which does not depend on the rest of Blender (except blenlib). Therefore, using this new module in blendthumb does not drag along all the other dependencies, bring its file size back down. In the future, more code may be moved from blenloader to blenloader_core, but for now I extracted these two headers: * `BLO_core_bhead.hh`: Various `BHead` types and related parsing functions. * `BLO_core_blend_header.hh`: Parsing of the header at the beginning of .blend files. Pull Request: https://projects.blender.org/blender/blender/pulls/138371
…
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%
