Commit Graph

4095 Commits

Author SHA1 Message Date
Antonioya
99f1e3d57f Fix T63455: Legacy GPencil settings in Annotations 2019-04-10 11:31:37 +02:00
Campbell Barton
b9eac0bb44 Cleanup: spelling 2019-04-10 08:40:49 +02:00
Antonioya
009dbc2bc9 Fix T63427: Annotations don'twork with 2.79 settings
The problem was the colors were not converted and the annotation flag was not enabled.

Note: For Scene data (View3D) there is a convert operator.
2019-04-09 20:12:21 +02:00
George Vogiatzis
7655b32999 Fix T63386: text editor footer added multiple times.
Differential Revision: https://developer.blender.org/D4663
2019-04-08 22:51:30 +02:00
Sergey Sharybin
d220a87b47 Fix T63283: Second subdivision modifier does not ignore crease
This is something where there is no single correct behavior,
sometimes it's needed to ignore the crease to make mesh more
smooth. But sometimes crease is to be considered after first
subdivision surface: for example, when adding extra subdivisions
for render-time displacement.

Made it an option whether modifier needs to take crease into
account or not.

Existing files should be openable in the 2.7 compatible way,
to re-create an old behavior the options is to be manually
disabled in the modifier settings.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4652
2019-04-05 14:50:24 +02:00
George Vogiatzis
a180b754eb Interface: New region type 'Footer', used by text editor
* It can be hidden by dragging it up/down.
* It can be at the top or bottom, independent of the header.
* It uses the color theme from the header.
* It does not change its color, when the area becomes active.

Currently, it is used in the text editor to display the file path.

Differential Revision: https://developer.blender.org/D4601
2019-04-05 13:48:26 +02:00
Sergey Sharybin
4f26d2348c Multires: Make topology cache to work with copy-on-write
Allows to preserve topology cache even when copy-on-write is
fully re-copying the object. For example, toggling edit mode
in and out does no longer causes full topology to be re-created.
2019-04-03 16:14:02 +02:00
Antonioya
382b2a9c66 GPencil: Implement custom channel color in Dopesheet
A new parameter in the layer adjustment panel allows to define the color of the channel in Dopesheet.

This is needed when there are a lot of layers.

See D4623 for more details.
2019-04-03 10:25:49 +02:00
Brecht Van Lommel
1abd909a92 Cleanup: remove DNA_PRIVATE_WORKSPACE hacks.
This is just not practical to do for the code as a whole, and having it as an
exception for one specific data structure is not that helpful. This has only
been in the way for me when refactoring code.
2019-04-02 13:32:25 +02:00
Campbell Barton
6470056a0d Cleanup: empty expression statement warning 2019-04-02 17:54:04 +11:00
Ray Molenkamp
a41008964c Fix: Buffer overflow in StudioLight
sl->light_ambient is a float[3], copy_v4_fl4 overwrites sl->free_function with a bogus
pointer on 32 bit.
2019-03-31 13:45:26 -06:00
Campbell Barton
18d06e8d21 Cleanup: style 2019-03-30 07:14:28 +11:00
Clément Foucault
d6747f310f Eevee: Material: Decouple transparent shadows from blend mode
This makes it easier to exclude a surface from casting shadows and can be
used to manipulate the shadows even for opaque surfaces.

Versionning ensure that old behavior is transfered to new rendering logic.
2019-03-29 19:18:19 +01:00
Nathan Craddock
1ef59026e4 UI: tweak display of report messages in the status bar.
Remove fading away the color, share theme colors with info editor.

Differential Revision: https://developer.blender.org/D4197
2019-03-28 20:02:59 +01:00
Campbell Barton
adfdae3fc2 Cleanup: style 2019-03-26 10:15:46 +11:00
Antonioya
7021bd5273 GPencil: Only brushes with pinned materials have materials
Using GP_BRUSH_MATERIAL_PINNED to switch between active material and brush material, instead of updating all brushes on active material changes. This will allow brushes to have no material and therefore to not inflate the user count.

This fix T62465.

Patch contributed by @matc
Reviewers: @brecht @antoniov @billreynish @mendio
2019-03-25 17:06:07 +01:00
Bastien Montagne
c1f8b9753a Copy/Paste: refactor to be able to paste any kind of IDs, by type.
This commit does not add anything new from user perspective, but make it
possible to paste any kind of IDs, not only objects/collections.

Will be used by new copy/paste in the outliner in next commit.
2019-03-25 10:09:03 +01:00
Brecht Van Lommel
b48e6799f1 Fix missing version patching from lamp/light and subsurface changes. 2019-03-24 14:49:49 +01:00
Campbell Barton
16694ed408 Cleanup: redundant use of string formatting functions 2019-03-24 16:09:46 +11:00
Ish Bosamiya
da5b6ed75b Modifiers: add minimum number of vertices to triangulate modifier.
This lets you only triangulate n-gons when setting the number to 5 or more.

Differential Revision: https://developer.blender.org/D4367
2019-03-22 18:11:14 +01:00
Sergey Sharybin
08efcefb47 Fix T61759: Dynamic paint smudge crash
The issue was caused by mesh needed for dynamic paint brush being
stored in the modifier. That make it to be freed and set to NULL
when running copy-on-write.

Solved by moving the mesh to be stored in modifier's runtime data.
2019-03-20 14:57:31 +01:00
Campbell Barton
ef09aff61c Preferences: add threshold for cursor motion
A hard coded threshold was used to ignore cursor motion,
make this a preference since tablet users may want to increase it
since a pen hovering isn't as easy to keep still as a mouse.

Resolves T56278
2019-03-20 22:19:16 +11:00
Dalai Felinto
0c44b7e177 Fix T61670: Copy -> Paste - Pasted elements are not selected
The first part of this patch is just a way to improve performance a bit
by not calling BKE_scene_object_base_flag_sync_from_base() twice.

The second is the proper fix for the reported issue.

That said, the report can be re-opened since there is still discussion
about whether or not to bring the collections with the objects.

Reviewers: mont29

Subscribers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D4558
2019-03-20 07:45:24 -03:00
Bastien Montagne
21cd575e88 Fix (unreported) Copy/Paste: orig object being instantiated in active collection on pasting.
When copy/pasting an object in same .blend file, orig object would be
instantiated into the active collection when pasting, along with the
content of the paste. Was missing a clear of LIB_TAG_DOIT on objects...

Found while investigating T61670.
2019-03-20 10:30:50 +01:00
Campbell Barton
a73afc7eeb readfile: add off64_t typedef for __APPLE__ 2019-03-19 21:59:26 +11:00
Campbell Barton
7ba82f3f0a Fix T62707: opening blend files over 2gb on win32 fails
Regression in 358e07f447 for ms-windows since off_t is an int32_t
even on 64bit systems causing files over 2gb not to load.

Poison off_t so this doesn't happen again.
2019-03-19 20:18:03 +11:00
Jacques Lucke
b29790a953 Fix T62587: Particle instances Use Count not saved correctly
Reviewers: brecht

Differential Revision: https://developer.blender.org/D4544
2019-03-18 17:53:14 +01:00
Sergey Sharybin
8fb0b9aebb Subdiv: Enable topology cache in edit mode
The general idea of this change is to have a runtime data pointer
in the ModifierData, so it can be preserved through copy-on-write
updates by the dependency graph.

This is where subdivision surface modifier can store its topology
cache, so it is not getting trashed on every copy-on-write which
is happening when moving a vertex.

Similar mechanism should be used by multiresolution, dynamic paint
and some other modifiers which cache evaluated data.

This fixes T61746.

Thing to keep in mind, that there are more reports about slow
subdivision surface in the tracker, but that boils down to the
fact that those have a lot of extraordinary vertices, and hence
a lot slower to evaluated topology.
Other thing is, this speeds up oeprations which doesn't change
topology (i.e. moving vertices).

Reviewers: brecht

Reviewed By: brecht

Maniphest Tasks: T61746

Differential Revision: https://developer.blender.org/D4541
2019-03-18 17:11:43 +01:00
Bastien Montagne
07355ff74b Fix mistake in previous commit. 2019-03-18 11:42:35 +01:00
Brecht Van Lommel
66932a2c81 Add-ons: disable 3ds add-on in all existing preferences.
Silences warning when running with --debug. If/when this add-on is ported,
users that need it can enable it again.
2019-03-18 11:10:28 +01:00
Bastien Montagne
887d052e56 Fix T62570: Append Particles System not working properly.
T62570 and T61796 show that we need two slightly different behaviors in
post-linking collection process:
* For linking, we never want to instantiate indirectly-linked
collections or objects.
* For appending however, since all collections and objects will become
local and hence need instantiation, we want to 'link to scene' all
collections first, better than instantiating the objects in the master
collection opf current scene.
2019-03-17 18:07:13 +01:00
Bastien Montagne
d23452897b Remove 3DS add-on from factory startup. 2019-03-17 09:43:32 +01:00
Campbell Barton
cc5bdf0293 Cleanup: rename DEPRECATED to UNUSED
While the flags have been deprecated they're currently unused.
Rename for clarity.
2019-03-17 10:34:59 +11:00
Clément Foucault
efdde88dfc Particle: Remove Billboard Particle code
The billboard particles were only used by Blender Internal. So until it is
supported by Cycles of Eevee there is no reason to keep it in the code and
UI.

Fix T61695 Billboard particles not displaying in Eevee viewport, render
2019-03-15 22:33:02 +01:00
mano-wii
681661dbed GPU: Simplify select shaders.
The shaders are: `GPU_SHADER_3D_FLAT_SELECT_ID` and `GPU_SHADER_3D_UNIFORM_SELECT_ID`.
This commit allows the drawing of the mesh select ids to be done on a 32UI format texture.
This simplifies the shader that previously acted on the backbuffer and had to do an uint to rgba conversion.

Differential Revision: https://developer.blender.org/D4350
2019-03-15 17:02:48 -03:00
Alexander Gavrilov
e583e86a9a Fix T62284: apply a retroactive fix for T57366 to old files. 2019-03-15 14:58:16 +03:00
Campbell Barton
d4156b46d7 Tool System: use categories for tool identifiers
Tools that come with Blender use 'builtin' or 'builtin_brush' prefix.
2019-03-15 16:48:01 +11:00
Campbell Barton
ee3d8cafdd Fix T59155: Can't select light in-front of other objects
Enable depth picking by default.

This adds new 'gpu_flag' since it's not so relevant to add GPU drawing
options into uiflag & uiflag2.

This resets the recently added smooth edge flag.
2019-03-15 11:22:42 +11:00
Campbell Barton
18e0c5ea5b Cleanup: deprecated flags to named DNA flags 2019-03-15 10:42:39 +11:00
Campbell Barton
35b78d9807 Cleanup: indentation, wrapping
Mostly functions wrapping args, not confirming to our style guide.
2019-03-15 09:54:30 +11:00
Bastien Montagne
5ae8b1da02 Fix wrong memory handling in own rB93633efe69ca.
`BLO_library_read_struct()` actually takes care for us of nearly
everything, makes things much simpler...
2019-03-11 23:37:54 +01:00
Campbell Barton
fd76b8d825 Cleanup: style 2019-03-12 08:21:13 +11:00
Bastien Montagne
93633efe69 Fix (unreported) broken ID previews reading.
Recent changes to blendfile reading adding deferred reading of actual
data broke it, we cannot use the nifty `bhead + 1` to access data
anymore, since there is no guaranty that that block hass been fully
read.

Note that there is still one case in `read_file_thumbnail()`, however
loading of blendfile preview itself seems to be working fine... Maybe
@campbellbarton can double check that point (or knows of hands whether
it is OK there)?
2019-03-11 17:08:30 +01:00
Bastien Montagne
1bc8ddbc6c Fix T62310: Batch generate data-block previews broken.
Some uninitialized colormanagement data was breaking RNA acces for them,
exposed in batch preview management when generating previews for scenes
because we have to backup/restore scene and all its settings
before/after rendering it...
2019-03-11 17:08:30 +01:00
Brecht Van Lommel
57777b9542 Fix T61906: crash rendering softbody with Cycles and timeline visible.
Make sure we don't reallocate arrays in the pointcache when not needed, the
size of a memory allocation can be slightly bigger than the requested size.

Also, use consistent check for shared cached in copy and free functions.
2019-03-11 14:34:13 +01:00
Jörg Müller
6fd11a21f5 Fix T62255: Blender defaults to "OpenAL Soft" in sound settings, regardless of saved preferences
- Default device (index 0) was hard coded.
- Also fixing crash with invalid device passed to blender via -setaudio.
2019-03-10 23:28:51 +01:00
Julian Eisel
7e5d1a9560 Fix T57655: Crash opening 2.79 file saved with maximized area
During screen to workspace/workspace-layout conversion, the first layout
of each workspace would be activated. For temporary full-screens, this
used to be the full-screen layout (IIRC), apparently it's now the
the layout to return to on "Back to Previous". So the 'previous' layout
would be activated, not the full-screen one.
When actually pressing "Back to Previous" now, the operator would first
free the active layout (which it assumes to be the temp full-screen -
wrongly in this case) and then try to activate the non-full-screen one,
causing use-after-free.
2019-03-09 13:11:00 +01:00
Sybren A. Stüvel
af53c3b135 Fix crash reloading images used in compositor node
Similar to what Brecht committed in
38f0d5f75a.
2019-03-08 13:43:12 +01:00
Antonioya
252e0d35ee GPencil: Fix field type error in initialization 2019-03-08 08:49:25 +01:00
Campbell Barton
8f817de0cb Cleanup: use plural names for Main lists
Convention was not to but after discussion on 918941483f we agree its
best to change the convention.

Names now mostly follow RNA.

Some exceptions:

- Use 'nodetrees' instead of 'nodegroups'
  since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
  since 'gpencil' is a common abbreviation in the C code.

Other exceptions:

- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.
2019-03-08 09:50:00 +11:00