Patches to Bf Blender for CAD development. https://tornavis.org/
Go to file
Hans Goudey 59343ee162 Fix T95839: Data race when lazily creating mesh normal layers
Currently, when normals are calculated for a const mesh, a custom data
layer might be added if it doesn't already exist. Adding a custom data
layer to a mesh is not thread-safe, so this can be a problem in some
situations.

This commit moves derived mesh normals for polygons and
vertices out of `CustomData` to `Mesh_Runtime`. Most of the
hard work for this was already done by rBcfa53e0fbeed7178.
Some changes to logic elsewhere are necessary/helpful:
- No need to call both `BKE_mesh_runtime_clear_cache` and
  `BKE_mesh_normals_tag_dirty`, since the former also does the latter.
- Cleanup/simplify mesh conversion and copying since normals are
  handled with other runtime data.

Storing these normals like other runtime data clarifies their status
as derived data, meaning custom data moves more towards storing
original/editable data. This means normals won't automatically benefit
from the planned copy-on-write refactor (T95845), so it will have to be
added manually like for the other runtime data.

Differential Revision: https://developer.blender.org/D14154
2022-02-22 12:44:15 -05:00
.github GitHub: add PR template 2021-10-23 10:49:51 +05:30
build_files Fix compilation error on certain platforms 2022-02-22 15:47:43 +01:00
doc Cleanup: Grammar in doc/python_api 2022-02-07 14:28:12 -05:00
extern VSE: Refactor our code to be compatible with ffmpeg 5.0 2022-02-18 18:24:16 +01:00
intern Fix ffmpeg tests when using ffmpeg 5.0 2022-02-22 17:30:52 +01:00
release Fix T92467: Path Selection broken when Drag is set to Tweak 2022-02-21 23:09:34 +11:00
source Fix T95839: Data race when lazily creating mesh normal layers 2022-02-22 12:44:15 -05:00
tests Tests: enable full Cycles Metal device regression tests on buildbot 2022-02-11 14:35:10 +01:00
.arcconfig Fix .arcconfig not working with latest arcanist version 2020-03-01 22:35:31 +01:00
.clang-format Cleanup: More readable Cycles OSL BSDF definition 2021-10-19 11:59:26 +02:00
.clang-tidy Clang Tidy: ignore some passes that changed or were added in version 13 2021-11-23 19:45:05 +01:00
.editorconfig
.git-blame-ignore-revs Cleanup: git-blame-ignore-revs: Update policy & commits 2021-01-29 13:20:32 +05:30
.gitignore Compositor automated testing 2021-03-26 16:15:02 +01:00
.gitmodules
CMakeLists.txt Python: bump minimum version to 3.10 2022-02-22 10:16:25 +11:00
COPYING
GNUmakefile Cleanup: fix typos in comments and docs 2021-11-19 12:46:49 +01:00
make.bat make.bat: unify python detection 2022-01-25 09:19:03 -07:00
readme.rst Blender README: Fix the full license name. 2021-04-09 12:39:33 +02:00

readme.rst

.. Keep this document short & concise,
   linking to external resources instead of including content in-line.
   See 'release/text/readme.html' for the end user read-me.


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.

.. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg
   :scale: 50 %
   :align: center


Project Pages
-------------

- `Main Website <http://www.blender.org>`__
- `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__
- `User Community <https://www.blender.org/community/>`__

Development
-----------

- `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__
- `Code Review & Bug Tracker <https://developer.blender.org>`__
- `Developer Forum <https://devtalk.blender.org>`__
- `Developer Documentation <https://wiki.blender.org>`__


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 <https://www.blender.org/about/license>`__ for details.