Patches to Bf Blender for CAD development. https://tornavis.org/
Go to file
Hans Goudey 1c0f374ec3 Object: Move transform matrices to runtime struct
The `object_to_world` and `world_to_object` matrices are set during
depsgraph evaluation, calculated from the object's animated location,
rotation, scale, parenting, and constraints. It's confusing and
unnecessary to store them with the original data in DNA.

This commit moves them to `ObjectRuntime` and moves the matrices to
use the C++ `float4x4` type, giving the potential for simplified code
using the C++ abstractions. The matrices are accessible with functions
on `Object` directly since they are used so commonly. Though for write
access, directly using the runtime struct is necessary.

The inverse `world_to_object` matrix is often calculated before it's
used, even though it's calculated as part of depsgraph evaluation.
Long term we might not want to store this in `ObjectRuntime` at all,
and just calculate it on demand. Or at least we should remove the
redundant calculations. That should be done separately though.

Pull Request: https://projects.blender.org/blender/blender/pulls/118210
2024-02-14 16:14:49 +01:00
.gitea Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00
.github Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00
build_files Merge branch 'blender-v4.1-release' 2024-02-14 14:29:55 +11:00
doc Cleanup: remove "-noaudio" argument in background mode 2024-02-14 00:13:38 +11:00
extern Cleanup: CMake: Modernize extern_fmtlib dependencies 2024-02-03 18:55:09 +01:00
intern Merge branch 'blender-v4.1-release' 2024-02-14 14:29:55 +11:00
locale I18N: Updated UI translations from git/weblate (3f985abe2708530). 2024-02-12 12:06:15 +01:00
release Cleanup: remove "-noaudio" argument in background mode 2024-02-14 00:13:38 +11:00
scripts Compositor: Switch CPU compositor to Full-Frame 2024-02-14 14:23:49 +01:00
source Object: Move transform matrices to runtime struct 2024-02-14 16:14:49 +01:00
tests EEVEE-Next: Render Tests: Cosmetic changes 2024-02-14 15:55:36 +01:00
tools code_clean: exclude BLI_strict_flags.h from removal 2024-02-14 13:40:33 +11:00
.clang-format Clang-Format: Ensure new line at the end of files 2024-02-09 14:32:07 +01:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig editorconfig: add HTML entry 2023-12-08 13:28:13 +11:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Ignore build files for VS and VS Code 2023-03-07 17:38:34 +01:00
AUTHORS AUTHORS: correct canonical authors map 2024-01-16 17:30:38 +11:00
CMakeLists.txt CMake: Disable unity builds on cmake 2.28.2 2024-02-01 09:09:20 -07:00
COPYING
GNUmakefile Cleanup: remove "-noaudio" argument in background mode 2024-02-14 00:13:38 +11:00
README.md Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00
make.bat Windows: Propagate errors in make.bat 2023-08-16 19:29:47 +02:00
pyproject.toml Black: skip string normalisation 2024-01-22 10:09:33 +01:00

README.md

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.