Go to file
Hans Goudey 5606942c63 Curves: Skip CurveEval in legacy curve conversion
Currently when converting from the legacy curve type to the new type,
which happens during evaluation of every legacy curve object, the
`CurveEval` type is used as an intermediate step. This involves
copying all data twice, and allocating a bunch of temporary arrays.
It's also another use of `CurveEval` that has to be removed before
we remove the type.

The main user difference besides the subtlety described below
will be improved performance.

**Invalid Handles and Types**
One important note is that there are two cases (that I know of)
where handles and handle types can be invalid in the old curve
type. The first is animation, where animated handle positions don't
necessary respect the types. The second is control points with a
single aligned handle that didn't necessarily align with the other.

In master (partially on purpose) the code corrects the first situation
(which caused T98965). But it doesn't correct the second situation.
It's trivial to correct for the second case with this patch (because of the
eager calculation decided on in D14464), but this patch makes the choice
not to correct for //either//.

Though not correcting the handle types puts curves in an invalid state,
it also adds flexibility by allowing that option. Users must understand
that any deformation may correct invalid handles.

Fixes T98965

Differential Revision: https://developer.blender.org/D15290
2022-06-25 11:11:59 -05:00
.github GitHub: add PR template 2021-10-23 10:49:51 +05:30
build_files GHOST/Wayland: support client-side window decorations 2022-06-25 00:10:39 +10:00
doc Revert "TEST COMMIT: API doc generation changes." 2022-06-17 18:21:28 +02:00
extern Fix T98427: Crash adding quick effects smoke from Python 2022-06-24 23:28:55 +10:00
intern Cycles: stop Metal rendering on command buffer error 2022-06-24 16:51:56 +02:00
release Geometry Nodes: Add Points Node 2022-06-25 08:47:31 -05:00
source Curves: Skip CurveEval in legacy curve conversion 2022-06-25 11:11:59 -05:00
tests Workbench: Increase render tests fail threshold for hair. 2022-06-24 14:09:15 +02:00
.arcconfig Fix .arcconfig not working with latest arcanist version 2020-03-01 22:35:31 +01:00
.clang-format Cleanup: add C++ compatible WL_ARRAY_FOR_EACH macro 2022-06-24 10:22:46 +10:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig pyproject: add configuration for autopep8 2022-04-22 10:13:39 +10:00
.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 Update for moving blender2.8 to master. 2018-12-21 12:15:21 +01:00
CMakeLists.txt GHOST/Wayland: support client-side window decorations 2022-06-25 00:10:39 +10:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile GNUmakefile: include autopep8 in the "make format" target 2022-05-03 18:32:00 +10:00
make.bat make.bat: unify python detection 2022-01-25 09:19:03 -07:00
pyproject.toml pyproject: re-enable line wrapping for autopep8 2022-05-13 18:05:07 +10:00
readme.rst Blender README: Fix the full license name. 2021-04-09 12:39:33 +02:00

.. 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.