Commit Graph

79921 Commits

Author SHA1 Message Date
Jacques Lucke
be5cbbabce Refactor: move Mask .blend I/O to IDTypeInfo callbacks 2020-09-10 17:22:35 +02:00
Jacques Lucke
0a93460361 Cleanup: remove else-after-return
This causes a clang-tidy error.
2020-09-10 17:21:44 +02:00
Jacques Lucke
60e102c0a0 Refactor: move World .blend I/O to IDTypeInfo callbacks 2020-09-10 17:06:49 +02:00
Nathan Craddock
095a53bd88 Cleanup: Remove outliner edit mode context menu entries
The outliner context menu has options to enter and exit edit mode, but
they only show in edit mode, and they don't work. This removes the
broken entries and related code.

Part of T77408

Differential Revision: https://developer.blender.org/D8641
2020-09-10 09:01:37 -06:00
Nathan Craddock
2110af20f5 Outliner: Move mode toggling to left column
Add a column of icons in the left gutter of the outliner for controlling
the interaction modes of objects. When an object is in a mode other than
object mode, the mode icon will draw to the left of that object. Any
other objects that are valid to be added or swapped into the mode are
drawn with a dot to the left of the object.

Clicking the dot to the left of an object will swap that object with the
current active object in the interaction mode. For edit and pose modes,
ctrl clicking the dot will add that object to the current mode.

Clicking the mode icon next to the active object removes it and all
other objects from the current mode.

The behavior is nearly identical to the previous edit/pose mode toggling
by selecting the mesh and armature datablocks, with additional support
for all interaction modes.

Currently two undo steps are pushed to prevent an assert.

Part of T77408

Manifest Task: https://developer.blender.org/T68498

Differential Revision: https://developer.blender.org/D8641
2020-09-10 09:01:27 -06:00
Jacques Lucke
0649e63716 Refactor: move Camera .blend I/O to IDTypeInfo callbacks 2020-09-10 16:58:23 +02:00
Antonio Vazquez
ae200cb2e4 GPencil: Fix unreported Eraser Point problem for one point selected
The Eraser Point mode was erasing too much points.

This eraser existed before the new Soft erasers were created and now it was working wrongly. The eraser point mode must remove the points below the eraser cursor at the first contact. For more soft erasers, the new Soft modes can be used.
2020-09-10 16:51:06 +02:00
Jacques Lucke
8a65afac1e Refactor: move Curve .blend I/O to IDTypeInfo callbacks 2020-09-10 16:47:12 +02:00
Jacques Lucke
a82bb8f5f0 clang-format 2020-09-10 16:37:52 +02:00
Jacques Lucke
89b570570a Refactor: move MetaBall .blend I/O to IDTypeInfo callbacks 2020-09-10 16:37:11 +02:00
Jacques Lucke
ea1094bdb0 Refactor: move Material .blend I/O to IDTypeInfo callbacks 2020-09-10 16:23:53 +02:00
Jacques Lucke
94c533ac35 Refactor: move Light .blend I/O to IDTypeInfo callbacks 2020-09-10 16:13:18 +02:00
Jacques Lucke
ede094f9b2 Refactor: move Image .blend I/O to IDTypeInfo callbacks 2020-09-10 15:59:08 +02:00
Clément Foucault
405a5d3bd7 GPUBatch: Do not unbind shader after drawing.
This allows subsequent redraw to work just like before.
However a better safeguard system against setting the uniforms in the
wrong shader would be nice to have.
2020-09-10 15:55:14 +02:00
Clément Foucault
48a99fab2b GPUImmediate: Fix wrong resize of immBatchAtMost 2020-09-10 15:55:14 +02:00
Clément Foucault
72f63ba7e9 GPUState: Fix Point Size issues
The point size was not updated in the right branch and setting the point
size via GPU_point_size was effectively disabling its use.
2020-09-10 15:55:14 +02:00
Jacques Lucke
7f4799a189 Refactor: move Brush .blend I/O to IDTypeInfo callbacks 2020-09-10 15:50:50 +02:00
Jacques Lucke
8e4cc07547 Refactor: move PaintCurve/Palette .blend I/O to IDTypeInfo callbacks 2020-09-10 15:40:32 +02:00
Julian Eisel
3cafaf0fa8 Fix possible use-after-free for number slider buttons
Mistake in e6f0b60c2e.
2020-09-10 15:30:14 +02:00
Jacques Lucke
eecd3705d7 Refactor: move MovieClip .blend I/O to IDTypeInfo callbacks 2020-09-10 14:53:29 +02:00
Sebastian Parborg
0f0e7239f0 Fix T80651: Material tab disappears
Always return true if the object can have materials. Even if there are
not currently any materials assigned to the object.
2020-09-10 14:51:18 +02:00
Jacques Lucke
3679f899fb Refactor: move VFont .blend I/O to IDTypeInfo callbacks 2020-09-10 14:42:54 +02:00
Jacques Lucke
fbc12e6cc5 Cleanup: extract functions for PackedFile .blend I/O 2020-09-10 14:35:51 +02:00
Aristotelis Dossas
4a82d792b0 Fix T79737: ERROR ACCESS VIOLATION when switching to eevee rendered view
This prevents Blender from crashing when switching
to rendered view and the grid_data is NULL in the
lightcache (due to possible corruption), by switching
to the fallback lightcache. The fix extends the solution
for possible corruption in the cube_data as well.

Fix T79737

Reviewed By: fclem
Differential Revision: https://developer.blender.org/D8835
2020-09-10 14:33:08 +02:00
Clément Foucault
8d59f060ca GL: Wrap extension support inside GLContext
This makes it possible to disable all the extensions when forcing
workarounds.

Also it will allow future options to selectively disable each extension
to know which one is buggy.
2020-09-10 14:19:00 +02:00
Clément Foucault
9d5977f5e1 GL: Add fallback debug layer
This is to improve debugging on older hardware that may not support
4.3 debug capabilities (like Macs).

This avoids sprinkling glGetErrors manually. This might still be needed
to find the root cause since not all functions are covered.

This overrides the functions pointers that GLEW have already init.

This is only enabled if using --debug-gpu option and the debug extension
are not available.

This also cleanup the usage of GLContext::debug_layer_support and use
wrapper to set object labels.
2020-09-10 14:19:00 +02:00
Jacques Lucke
b8bcbb2cf2 Refactor: move Text .blend I/O to IDTypeInfo callbacks 2020-09-10 13:57:08 +02:00
Jacques Lucke
fcf6177b0d Refactor: move LineStyle .blend I/O to IDTypeInfo callbacks 2020-09-10 13:50:03 +02:00
Jacques Lucke
d11651fff9 Refactor: move bNodeTree .blend I/O to IDTypeInfo callbacks 2020-09-10 13:33:29 +02:00
Sybren A. Stüvel
25faee8d07 Cleanup: IO, inline namespace declarations
Replace nested `namespace blender { namespace io {`
with `namespace blender::io {`.

No functional changes.
2020-09-10 11:42:07 +02:00
Sybren A. Stüvel
b77c0edce1 Cleanup: USD, inline namespace declarations
Replace nested `namespace blender { namespace io { namespace usd {`
with `namespace blender::io::usd {`.

No functional changes.
2020-09-10 11:42:07 +02:00
Sybren A. Stüvel
549a00de60 Cleanup: Alembic, inline namespace declarations
Replace nested `namespace blender { namespace io { namespace alembic {`
with `namespace blender::io::alembic {`.

No functional changes.
2020-09-10 11:42:07 +02:00
Jacques Lucke
b443f9b54c Refactor: move keyingset .blend I/O to blenkernel
Ref T76372
2020-09-10 11:17:51 +02:00
Sebastián Barschkis
60b2bb3a1c Fix T79626: 2.91 Mantaflow crash when adaptive domain + noise are enabled
Crash was caused by an incorect domain size of the noise solver and an index out of bounds.
2020-09-10 11:09:59 +02:00
Jacques Lucke
2cd41f49cf Refactor: move Action .blend I/O to IDTypeInfo callbacks 2020-09-10 11:02:42 +02:00
Jacques Lucke
538817d9a8 Refactor: move preview image .blend I/O to blenkernel
Ref T76372
2020-09-10 10:33:21 +02:00
Campbell Barton
a0f41ba8a2 Fix T80516: Hook modifier crashes without vertex group data
Checks for existence of a vertex group must check the array isn't NULL.

Regression in c1386795a9.
2020-09-10 17:58:05 +10:00
Aaron Carlisle
af843be301 UI: Outliner: Change Sequence Display Mode
This commit renames the Sequence Display Mode to Video Sequencer. THis 
matches the editor name in the editor list.

This commit also adjusts the tooltip because the data show in this 
dispay mode is not strickly speaking "data-blocks".

Ref D7716
2020-09-09 20:00:14 -04:00
Campbell Barton
5badf16531 Cleanup: spelling 2020-09-10 09:45:25 +10:00
Philipp Oeser
0721fbb6e1 Fix for failing constraints test
Caused by own rB6dc7266cf1f4.

When overriding context for constraint operators (such as in constraint
tests), it could happen that context "active_pose_bone" is set, but
"pose_bone" isnt. Now check for both in ED_object_pose_constraint_list.
2020-09-09 22:10:15 +02:00
Sebastián Barschkis
d61d210786 Fluid: Fix for GSoC display controls project
Load all grids when the grid display option is turned on. Otherwise, the grid from the viewport display options might not have been loaded from the cache.
2020-09-09 22:02:40 +02:00
Clément Foucault
92fc32e48d UI: Fix Icon drawing on MacOS
It seems that using a vertex shader using both `gl_InstanceID` and
 `gl_VertexID` is causing some issues on MacOS + Intel Iris.

Regression introduced by rB052538edc1fba109d3427471047611888ed13bea
2020-09-09 19:32:10 +02:00
Dalai Felinto
c6e4d922ba Cleanup: Remove warning re: const qualifier discarded
Warning introduced on a5db981b0e.
2020-09-09 19:19:07 +02:00
Jacques Lucke
63916f5941 Cleanup: reduce variable scope 2020-09-09 18:41:07 +02:00
Julian Eisel
0cff2c944f Fix T80590: Popups clipped by status-bar and top-bar
The drawing of popus should be done with the window's default viewport
and scissor. Previous functions may change these, so they should be
explicitly reset.
2020-09-09 17:56:43 +02:00
Brecht Van Lommel
370d6e5025 Geometry: add Attributes panel for PointCloud and Hair
There is a list of attributes, along with operators to add and remove
attributes. For adding, there are a few standard attributes that can be
added quickly, as well as a popup to create a custom attribute.

Ref T76659

Differential Revision: https://developer.blender.org/D8636
2020-09-09 17:01:17 +02:00
Brecht Van Lommel
a1397a3cc6 Geometry: use generic attributes for Hair and Point Clouds
Instead of custom data layer with special types, using general Vector and Float
attributes.

Ref T76659

Differential Revision: https://developer.blender.org/D8635
2020-09-09 17:01:17 +02:00
Brecht Van Lommel
565510bd7f Geometry: add .attributes in the Python API for Mesh, Hair and Point Cloud
This puts all generic float/int/vector/color/string geometry attributes in a new
.attributes property. For meshes it provides a more general API for existing
attributes, for point clouds attributes will be used as an essential part of
particle nodes.

This patch was implemented by @lichtwerk, with further changes by me. It's
still a work in progress, but posting here to show what is going on and for
early feedback.

Ref T76659

Differential Revision: https://developer.blender.org/D8200
2020-09-09 17:01:17 +02:00
Dalai Felinto
a5db981b0e Fix T76346: Moving objects in outliner doesn't update local collections
The fix involves going over ALL the possible combinations of viewlayers
and viewports and re-sync.
I tested this with multiple windows, multiple scenes and multiple
viewlayers.

Since (for now?) the operation of syncing the local layer collections is
not too expensive, this is not so bad. In theory we could improve this
by checking if the collection the object was moved to and from is in the
scene before iterating over it. I don't think it is worthy though.

Thanks Arun Parolikkal for the initial attempt on D8342.
Final patch reviewed by Brecht Van Lommel.
2020-09-09 16:58:06 +02:00
Jacques Lucke
f8aad78830 Cleanup: reduce variable scopes 2020-09-09 16:36:57 +02:00