Use annotations inside grease pencil drawing mode is something incompatible by design. Actually, the annotations are disabled in overlay panel for 2D template and the tool icon is not in the toolbar.
The unique way to get annotations was using D key, but this is wrong.
If you are inside drawing mode, all the events are captured by paint operator and to capture annotations, the operator must be canceled and the mode changed, but this change breaks several things.
It's not logic add annotation inside darwing mode, because you can simply add a new layer and write the text you want.
This change checks the mode and cancel the annotations if the mode is not thje right one.
State tracking works in pretty much all cases but calling the clear command
does change the write mask outside the draw manager. For now we just reset
the write mask before each pass.
Fix T62203 The selected bone is not highlighted inside the other bone.
`ED_mesh_uv_texture_add()`/`ED_mesh_color_add()` would always either
copy data from current active one, or (for UVs), generate default
'valid' UVs for every face.
This commit adds an option to not do that, just keeping default values
from raw CDLayer creation. It is only used/exposed from RNA API
currently.
This is especially useful for importer add-ons, since some formats
support multiple layers of those kind, as well as 'partial' dataset not
explicitely defining values for all mesh items.
Preliminary step to fix T62224.
We really do not need two 256 chars variables to hanlde renaming, a mere
pair of flags can handle the situation just as well.
Also, scroll to newly renamed item, will help when one want to find
again the directory they just added and rename.
At some point we'll probably want to refactor scrolling further (to make
it fully out of rename code/context e.g.), but for now think this will do.
This was changed (accidentally?) in d192d72312, now go back to behavior more
similar to 2.7. Python scripts should be able to set up drivers or do other
changes that will then be taken into account when evaluating the scene for the
first time.
The more tricky thing is that Python scripts now run before ED_editors_init,
but given what happens in there it seems safe.
Works as expected and mimics Cycles behavior.
The patch is a bit hacky: In order to not touch the lower level function,
we search for the active output inside groups (recursively) and the first
valid one is then copied (or extracted if you want) in the previous parent
nodetree. So we recursively extract the output node back to the main
nodetree while preserving the links through the nodegroups interfaces.
This way everything works as expected in gpu tree evaluation and bsdf
tagging.
Fix T61869 Material Output Node Inside Node Group Renders Pink in Eevee
Avoid allocation for each string,
improves redraw speed for text heavy views.
A contrived test showed FPS ~18.5% speedup but this doesn't represent
typical usage.
The problem was that `balance` expected that all node children
are set to `KD_NODE_UNSET` by default.
However, this might not be the case when `balance` is called
more than once.
The balance function might change the order of nodes even
when no new point has been inserted.
There were two problems:
1. `mesh_get_eval_final` has to be called with the evaluated object.
2. Particle systems have to have unique names within an object.
The depsgraph seems to use the particle system name as identifier.
This issue is actually independent of duplication.
The old code used a small hack to create unique names.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4451
Float2 are now a new type for attributes in Cycles. Before, the choices
for attribute storage were float and float3, the latter padded to
float4. This meant that UV maps were inflated to twice the size
necessary.
Reviewers: brecht, sergey
Reviewed By: brecht
Subscribers: #cycles
Tags: #cycles
Differential Revision: https://developer.blender.org/D4409
Do not force to link indirectly linked collections into current scene,
that is usually not desired. Note that user can always add this link
manually if they want.
All this 'implicit instantiation' post-linking process is rather hairy
to get it correct, hope this time it's not breaking something else...