Commit Graph

84169 Commits

Author SHA1 Message Date
Bastien Montagne
33dcde4865 RNA Depsgraĥ: add a warning about not using object_instances as a sequence.
Due to how this is generated, each item is freed when steping iteration
to the next one, which means that subscriptions etc. will make blender
crash.
2019-01-17 12:34:08 +01:00
Brecht Van Lommel
06ee560da7 Fix misleading autokeyframing preference, it's only for new scenes. 2019-01-17 12:00:18 +01:00
Brecht Van Lommel
ad707115d5 Preferences: add new Viewport, Animation, Navigation, Save & Load sections.
This further changes the preferences organization, to avoid grouping unrelated
settings together. With more sections we can also expand more panels by default,
making it possible to quickly go through sections and see the settings of each.

Panels with less used settings are still collapsed by default, to keep all panel
headers visible without scrolling.

Differential Revision: https://developer.blender.org/D4216
2019-01-17 11:44:33 +01:00
Brecht Van Lommel
4f9bcd6166 Preferences: tweaks to lights section layout. 2019-01-17 11:28:56 +01:00
Brecht Van Lommel
f351c7bf23 Preferences: tweak themes/addons/keyamps buttons at the top.
Make layouts more consistent between them, give more room for search field.
Addon online resources links were removed as the links are dead.
2019-01-17 11:28:56 +01:00
Brecht Van Lommel
944d6f11cb Revert "Preferences: enable interface translation by default, not just tooltips."
This reverts commit c1762b1a08, as this was
intentional since interface translations are often incomplete or use unusual
terms.
2019-01-17 11:28:56 +01:00
Brecht Van Lommel
18905b4359 Fix preferences layout not shrinking properly on high DPI display. 2019-01-17 11:28:56 +01:00
Brecht Van Lommel
e44a7d36f4 Fix UI not fully updating while resizing window on Windows and macOS.
This is still not fully correct, since the event loop is blocked by GHOST
and no timer events are happening for animation while the mouse is still.
But for the most part it looks ok.
2019-01-17 11:28:56 +01:00
Campbell Barton
c8e75c2b00 Fix T60554: Missing undo push changing color
Operators don't have a good way to skip undo,
for now check the button undo flag & return cancelled.
2019-01-17 16:39:38 +11:00
Campbell Barton
4a3aac478c Cleanup: logic for eyedropper free on failure
Although currently unused, if exec was called and failed it would leak.
2019-01-17 15:43:34 +11:00
Campbell Barton
3648b3f916 Cleanup: remove duplicate color picker operator
Use internal boolean option to disable accumulation for crypto-matte.
2019-01-17 15:27:24 +11:00
Campbell Barton
b6854770c7 T60560: Render border gizmo doesn't update display 2019-01-17 14:48:46 +11:00
Campbell Barton
9d8445d6a9 Cleanup: de-duplicate loose vert/edge checks 2019-01-17 13:20:44 +11:00
Campbell Barton
76fdd33df2 Fix T60578: Crash selecting after hiding vertices 2019-01-17 13:05:45 +11:00
Campbell Barton
2f372654b6 BMesh: keep selection history when removing doubles
Auto-merge would loose the active vertex.
2019-01-17 12:36:17 +11:00
Campbell Barton
371006ddea BMesh: Remove doubles now merges face-flags 2019-01-17 12:32:12 +11:00
Campbell Barton
c5ae1cde5c Cleanup: variable names 2019-01-17 12:29:09 +11:00
Campbell Barton
00dd294a6e Cleanup: unused code 2019-01-17 11:17:45 +11:00
Philipp Oeser
e57ee5934a Fix T60261: Crash pasting a material without a nodetree 2019-01-17 08:59:02 +11:00
Campbell Barton
dfb63653f4 PyAPI: minor change to bpy.app.debug_value exception handling
Use error from int conversion function.
2019-01-17 08:46:36 +11:00
Campbell Barton
9bfc9d799e PyAPI: Avoid redundant prefix for PyC_Err_Format_Prefix
Only show the exception value type when it's not a string.
2019-01-17 08:43:57 +11:00
Campbell Barton
debb68024e PyAPI: add PyC_Err_SetString_Prefix for internal use 2019-01-17 08:38:59 +11:00
Antonioya
8ba86020cc GP: Display Stroke for Fill Alt mode always
When use the Alt mode to draw close strokes, if the color had the stroke diabled, the stroke was not visiblle while drawing.

Now, it's visible while drawing, but it's hidden again when the stoke is finished. To display close strokes, enable stroke mode in material or enter in edit mode.
2019-01-16 20:04:48 +01:00
Bastien Montagne
8102200006 Cleanup/sanitize usages of G.debug_value.
There was no documentation at all, some very bad practices (like using
G.debug_value > 0 as some sort of global debug print switch), and even
an overlapping use of '1' value...

Also, python setter did not check for valid range (since this is a
short, not an int).
2019-01-16 19:43:53 +01:00
Bastien Montagne
feaf846f93 Cleanup: get rid of -666 debug value.
That one was used to allow specifying in system console a new path for
missing libraries, when loading a .blend file.

We now have a much more easy and user-friendly way of repairing missing
linked datablocks/libraries, so this is not needed anymore.
2019-01-16 19:43:53 +01:00
Bastien Montagne
2eec83867b Cleanup: remove dead code in softbody forces evaluation.
This code has been disabled (hidden behind a specific debug value) for
over 10 years now! More than time to get rid of it...
2019-01-16 19:43:53 +01:00
Brecht Van Lommel
fb9243787b Fix too narrow buttons in addon preferences. 2019-01-16 19:32:10 +01:00
Brecht Van Lommel
c1762b1a08 Preferences: enable interface translation by default, not just tooltips.
Translation as a whole is still disabled by default as before.
2019-01-16 19:25:17 +01:00
Brecht Van Lommel
d31ca35c61 Fix outdated user preference descriptions. 2019-01-16 19:25:17 +01:00
Brecht Van Lommel
69dcdf5e12 Fix broken weight painting colorband in default preferences. 2019-01-16 19:25:17 +01:00
Antonioya
1192fd58a5 GP: Use multiframe falloff in Shear transform 2019-01-16 19:22:20 +01:00
Antonioya
798e67bc9e GP: Use multiframe falloff for Bend transformation 2019-01-16 19:22:13 +01:00
Bastien Montagne
c2dee803e3 Outilner: pass userdata void pointer to outliner_do_object_operation_ex().
Even though it is not used currently, an _ex() func should not ignore
that, it is kind of mandatory for many advanced/complex behaviors.
2019-01-16 17:35:51 +01:00
Brecht Van Lommel
ece72e15d5 Preferences: remove OpenGL select method preference.
Deprecated GL_SELECT no longer works in OpenGL core profile, so there is no
reason to have this.
2019-01-16 16:16:42 +01:00
Brecht Van Lommel
49562da98d Preferences: remove unnecessary 16 bit textures preference.
This is a leftover from a time when these were not supported on all GPUs.
2019-01-16 16:16:42 +01:00
Brecht Van Lommel
a8a89db9c8 Preferences: always do GPU accelerated mipmapping, remove preference.
This setting was added long ago to be cautious in case some GPUs did not
support this propertly, no reason to have it anymore.
2019-01-16 16:16:42 +01:00
Bastien Montagne
0a378b8ebc Fix BKE_id_copy_ex() being able to 'return' garbage in copied ID.
Reported/noted in D4178, it would return immediatly in case of NULL
source ID, without ensuring that return 'copied' ID was properly
initialized.
2019-01-16 16:15:52 +01:00
Sergey Sharybin
792c453b2a Merge branch 'blender2.7' 2019-01-16 14:58:53 +01:00
Sergey Sharybin
0260d7b726 Cycles: Report whether camera was detected inside volume or not 2019-01-16 14:58:07 +01:00
Sergey Sharybin
7d7f5ce19f Multires: Cleanup, comments 2019-01-16 12:20:32 +01:00
Bastien Montagne
514e53bb80 Expose batch IDs deletion in python API.
Follow-up to previous commit.
2019-01-16 12:02:37 +01:00
Bastien Montagne
ce6d20b54e Add experimental batch IDs deletion.
Main idea is to remove IDs to be deleted from Main, to avoid looping on
them to remove other deleted IDs usage (this is the most expensive
process in ID deletion, by far).

Speed improvements when deleting a large amount of IDs from a Main
containing a lot of them is quite significant, some examples for Objects:
* Removing 1k from 10k: 32% quicker (2.5s to 1.7s).
* Removing 10k from 20k: 60% quicker (59s to 23s).
* Removing 20k from 20k: 99.5% quicker (82s to 0.4s)!

Note however that this process is more risky/touchy, since we by-pass
some safety checks from regular ID removal here.
So will only give access to that code from python API for now (in
separate commit), so that it gets really tested. Also still need to
think about how to hook it up in UI (probably mostly for Outliner),
since we often do higher-level operations there...
2019-01-16 12:02:37 +01:00
Sergey Sharybin
fcbbfb7789 Fix crash creating new file after modifications
Seems to be caused by cae3750 which changed free() function used
by bmain free to the one which does dependency graph tag. We do
no want to do any tags here.
2019-01-16 11:39:30 +01:00
Sergey Sharybin
bcef99d3a7 Cleanup: Spelling in comment 2019-01-16 11:36:54 +01:00
Sergey Sharybin
1579dc8c3b Multires: Prepare for cached topology
Note that the actual caching is still disabled, since
more tests is needed with more production-looking files.
2019-01-16 11:00:43 +01:00
Sergey Sharybin
6ae72d2d41 OpenSubdiv: Remove topology orientation code
It is no longer used and has some issues in corner cases
which are not handled in a way which OpenSubdiv expects.
2019-01-16 11:00:43 +01:00
Sergey Sharybin
7eda267df1 Subdiv: Reset evaluator creation statistics
Makes it more clear to see what was exactly happening at
the last invocation of subsurf modifier.
2019-01-16 11:00:43 +01:00
Sergey Sharybin
4fe6a2d950 OpenSubdiv: Implement UV topology comparison 2019-01-16 11:00:43 +01:00
Sergey Sharybin
b0c6c65e7b Subdiv: Initial implementation of topology cache
This commit makes it so OpenSubdiv's topology refiner is kept
in memory and reused for until topology changes. There are the
following modifications which causes topology refiner to become
invalid:

- Change in a mesh topology (for example, vertices, edges, and
  faces connectivity).
- Change in UV islands (adding new islands, merging them and
  so on),
- Change in UV smoothing options.
- Change in creases.
- Change in Catmull-Clark / Simple subdivisions.

The following limitations are known:

- CPU evaluator is not yet cached.
- UV islands topology is not checked.

The UV limitation is currently a stopper for making this cache
enabled by default.
2019-01-16 11:00:43 +01:00
Sergey Sharybin
e064777cac OpenSubdiv: Correct topology cpmparator
This fixes following errors:

- The code didn't work correctly for edges reconstructed by
  the OpenSubdiv's topology refiner (due to indexing
  difference).

- Sharpness of non-manifold and boundary edges was not
  working correctly.
2019-01-16 11:00:42 +01:00