Commit Graph

73875 Commits

Author SHA1 Message Date
abeda01ac6 GPencil: Improve Vertex Paint in filled areas
When use the Tint tool, it was very difficult to tint the filled areas if the strokes had very few points or the area was big.

Differential Revision: https://developer.blender.org/D7936
2020-06-05 15:11:08 +02:00
67b17684e6 Fix T77396: crash in memfile undo code after recent optimizations.
Optimizations in rBcda15408582e8de5b405 do not guarantee anymore that
consecutive memchunks in two consecutive undo steps are actually about
the same data (and hence can share the same buffer when unchanged).

This buffer sharing can now happen without any particular order, so we
need to change the process when 'merging' two undo memfiles together.

Note that existing code was not logically correct either, even with
previous undo storage code, since it would blindly transfer ownership of
the buffer to the second memchunk, without checking whether the first
one was actually the owner of it or not (a same buffer can be shared by
matching memchunks in many consecutive memfiles/undo steps).
2020-06-05 14:54:54 +02:00
ff5d24f8be Refactor: use new api in write_iddata 2020-06-05 14:45:32 +02:00
f797a5406d Refactor: use new api for writing object, mesh and particlesettings 2020-06-05 14:41:42 +02:00
a6cd77bad1 Refactor: use new api for writing camera, lattice, vfont and key 2020-06-05 14:32:26 +02:00
0a41a85bf3 Refactor: use new api for writing curve, mball, image, light, world, material and texture 2020-06-05 14:25:07 +02:00
b78fb8b987 Cleanup: remove unused sequencer marker code from 2.4x 2020-06-05 22:18:58 +10:00
74fa600ede Sequencer: split select side of frame out of the select operator
The select operator was getting overloaded with functionality
unrelated to selecting the strip at the mouse position.

- Don't save settings, allowing the keymap only to include
  non-default options.

- Fix selecting strips overlapping the current frame
  overwrite all flags.
2020-06-05 22:14:02 +10:00
d850daf416 Refactor: use new api for writing collection, action and gpencil 2020-06-05 14:09:35 +02:00
43294e5f49 Refactor: use new api in write_scene 2020-06-05 13:55:45 +02:00
60a786e711 Refactor: use compile time dna struct ids in blenloader api 2020-06-05 13:55:45 +02:00
5ed2ed28ab CodeCleanup: Supressed warning 2020-06-05 13:40:22 +02:00
dc69747f72 Refactor: use new api for writing linestyle, cachefile, hair, pointcloud, volume and simulation 2020-06-05 13:29:46 +02:00
e4e8259d39 Refactor: use new api for writing movieclip, mask, probe, nodetree, brush, palette and paintcurve 2020-06-05 13:14:39 +02:00
2396daf921 Refactor: use new api for writing screen, armature, text and speaker 2020-06-05 12:53:39 +02:00
a1d55bdd53 Refactor: use new api in write_workspace 2020-06-05 12:35:20 +02:00
56da8dae67 Refactor: use new api in write_windowmanager 2020-06-05 12:29:40 +02:00
0e6c648f3f Refactor: Move IDProperty writing to new API 2020-06-05 12:21:19 +02:00
48075b2c05 Blenloader: New API that will be used for blenloader decentralization
Design Task: T76372

This part of a larger refactoring towards a more extensible architecture
in Blender: T75724

The API is defined in `BLO_read_write.h`. It adds the small data structures
`BlendWriter`, `BlendDataReader`, `BlendLibReader` and `BlendExpander`.
Those contain context about the current read/write operation. Furthermore,
it adds many functions with the prefixes `BLO_write_*`, `BLO_read_*` and
`BLO_expand_*`.

Lib linking and expanding will probably be handled by the more generic libquery
system eventually. The corresponding parts of the API can be removed then.
2020-06-05 11:44:36 +02:00
ce7409fd13 Cleanup: use ED_object_ prefix for constraint functions
- ED_object_constraint_list_from_constraint was get_constraint_lb
- ED_object_constraint_list_from_context    was get_active_constraints
- ED_object_constraint_active_get   was get_active_constraint
- ED_object_constraint_active_set   was ED_object_constraint_set_active
2020-06-05 18:59:47 +10:00
5e55153c89 LibOverride: Cleanup: remove useless per-property override flag.
now that we have more 'global' ways to control that, we can save us
quiet a fwe calls....
2020-06-05 10:57:21 +02:00
191edd224a Cleanup: rename suffix 'conv' to 'convert' 2020-06-05 18:27:38 +10:00
e8b8e16b24 Code Cleanup: fcurve function naming 2020-06-05 09:30:15 +02:00
fe6be70875 CleanUp: Introduce BKE_fcurve_create 2020-06-05 08:41:35 +02:00
e3a32a22bf GPencil: Channel Lock tooltip
After talking with UI team, we decided to change the tooltip.
2020-06-05 08:27:52 +02:00
0aa2c10ad1 Cleanup: remove braces from previous commit (no functional changes) 2020-06-05 16:12:22 +10:00
8b347fc2cd Armature: increase maximum delectable bones from 4096 to 8192
Remove BONESEL_NOSEL which isn't needed.

Addresses issue raised in T77378.
2020-06-05 16:04:35 +10:00
fd63220a35 Cleanup: maybe uninitialized variable warning 2020-06-05 14:55:15 +10:00
9e96c6d054 Cleanup: spelling 2020-06-05 14:34:00 +10:00
b2d1c4873f Cleanup: remove unnecessary inline header
Caused by lsp/clang applying *fixes* automatically, tsk.
2020-06-05 14:33:59 +10:00
b168c255aa GPUTexture: Make GPU_texture_unbind_all faster on newer opengl version 2020-06-04 21:28:19 +02:00
ba5b303c88 DRW: Fix T77370: Redundant anti aliasing/blur effect 2020-06-04 21:28:19 +02:00
1d72fc5a1a LibOverride: Add Pointer properties to 'overridable by default'.
There is in fact no reason not to do so, RNA pointers are either to
other IDs (which is properly handled by default diffing code), or to
sub-structures that should almost always  be diffed as well.

Exceptions (like backward ID pointers or strictly runtime caches and
data) are to be handled with proper 'no comparison' flag in any case.
2020-06-04 18:06:47 +02:00
d71f9b9886 LibOverride: cleanup Collection case.
This should not give any real difference, those were already
overridable.
2020-06-04 18:06:47 +02:00
f2a0532111 Disable gravity in Draw Face Sets brush
Applying gravity to this brush does not make much sense and undo/redo
won't work correctly as it uses a different undo type.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D7925
2020-06-04 18:05:46 +02:00
15ed2f841c Fix Sharpen mesh filter in Multires
Instead of accumulating displacement for each vertex into the neighbors, accumulate the opposite displacement from each neighbor into the vertex. I think this is the same and it does not produce artifacts in Multires.

Reviewed By: sergey, brecht

Differential Revision: https://developer.blender.org/D7508
2020-06-04 18:04:07 +02:00
c7a2ed69be GPencil: Fix Lock Frame Dopesheet tooltip
The old tooltip was not clear enough
2020-06-04 16:55:19 +02:00
c604d2762f Fix T77358: Gpencil can't select geometry within transparent layers
This was an old check of opacity for editable layers, but with new system it's not needed because you can use the edit lines.
2020-06-04 16:41:46 +02:00
733a3e3a70 Fix T77164: scaling/rotation fails for 3 selected NURB points 2020-06-05 00:40:14 +10:00
fd061f61c7 GPUShaderInterface: Reduce creation time on some drivers.
Querying GL_UNIFORM_BLOCK_INDEX seems to be a problem on apple drivers.
2020-06-04 15:28:45 +02:00
10b34ad697 GPUShaderInterface: Change builtin array to array of location/bind
This reduce the base size of the shaderinterface from 400 to 136 bytes.
Improves memory usage and cache coherency when querying a lot of uniforms
at once.
2020-06-04 14:17:06 +02:00
5837de6879 Cleanup: DRW: Add comment and remove bitfields. 2020-06-04 14:17:06 +02:00
7534bbfa34 GPUShaderInterface: Add Builtin Uniform blocks query
This makes the query of theses mandatory uniforms faster.
2020-06-04 14:17:06 +02:00
30395a491f Fix T77073: Objects cannot be activated after collection exclude
When excluding a collection containing the active object in either
texture paint or particle edit mode, the object could not be reactivated
when the collection was re-enabled. This is because the object's mode
was left in TEXTURE_PAINT or PARTICLE_EDIT, and the activation code did
not have cases to handle these modes.

This moves the code that is run when toggling out of texture paint or
particle edit modes to functions so activation can properly toggle off
the respective interaction mode.
2020-06-04 21:48:04 +10:00
c7c3908b8e Cleanup: split particle & texture paint mode switching into utility functions 2020-06-04 21:36:33 +10:00
0f32029522 Fix T77315 Overlay: Selection Highlighting not working with complex scene
Was caused by a UBO bind to the wrong slot.
2020-06-04 12:57:26 +02:00
78017916f7 Fix error removing the image paint cursor
Mix up with imapaint.paintcursor & imapaint.paint.paint_cursor
Remove imapaint.paintcursor since it wasn't used.

Also rename paint_cursor_start_explicit() to paint_cursor_start(),
removing the existing paint_cursor_start() since it took the paint
struct from the context, a value that's known by all callers.
2020-06-04 20:24:57 +10:00
465a9f65de Cleanup: remove window manager argument for paint cursor API
This caused an additional argument when exiting object modes
and many other low level functions which don't need to access context.

This simplifies fixing T77073.
2020-06-04 18:41:16 +10:00
1a23b0be97 LibOverride: Make all modifiers properties overridable.
This is second and last part of T77083.
2020-06-04 10:26:05 +02:00
f9892bd6cf Fix T77264: Mantaflow: Liquid checkbox doesn't turn on while switching
between fluid types

When switching to gas, the fluids were not actually destroyed, leading to
the situation that they were then destroyed when actually switching to
liquid.

Maniphest Tasks: T77264

Differential Revision: https://developer.blender.org/D7907
2020-06-04 09:49:05 +02:00