Commit Graph

87708 Commits

Author SHA1 Message Date
William Reynish
043299ab69 UI: Use correct icon for saving in the close dialog. 2019-05-17 17:55:14 +02:00
Jacques Lucke
5ce3f69da4 UI: File Close Dialog
This adds a new dialog that is shown whenever a file is closed.
So, either when a new file is opened, or when Blender quits.
The dialog allows to save unsaved changes. Furthermore it also
allows saving images that have been modified in Blender, but are
not saved yet.

Known limitations:
* Images that have no file path and have not been packed before,
  are not saved.
* On MacOS the old dialog is shown when Blender quits.

Reviewers: brecht, billreynish

Differential Revision: https://developer.blender.org/D4860
2019-05-17 17:43:36 +02:00
Pablo Vazquez
56cdb0cf15 Fix Blender menu not collapsing when Show Menus is disabled. 2019-05-17 16:34:11 +02:00
Sergey Sharybin
fa9ab7b5a9 Fix T64595: Mask does not update correctly when changing frames
Is caused by change which made all IDs to have parameters.

Solved by using more explicit relations.
2019-05-17 15:48:01 +02:00
Sergey Sharybin
cd78a08a19 Fix compilation error in release mode
Caused by recent fix.
For some reason compiled fine in debug mode, but not in release.
2019-05-17 15:35:57 +02:00
Dalai Felinto
0255cf8126 Set selection column restrict hidden by default
This was discussed in the past, the idea is to get the outliner even more compact.
Also to let users to use the viewport selection restriction further.

It would be nice to haven indication that an invisible column is set, but this is
no particular to the selection column.
2019-05-17 10:16:25 -03:00
Sergey Sharybin
fccb42c41f Fix T63981: Factory default memory cache limit is 4096 MB (32bit builds)
very straightforward: initialize default to the same hard limit as the
RNA properties.

Annoying part is that it's not trivial to make RNA to use same BLI functions,
so leaving that behind for now.
2019-05-17 15:02:12 +02:00
Sergey Sharybin
34d67601b7 Python: Raise an error even NO_MAIN data is assigned to object
The goal is to prevent assignment of temporary or evaluated meshes
to objects from the main database.

Majority of the change is actually related on passing reports around.

On a positive side there are more error prints which can become more
visible to scripters.

There are still possible further improvements in the related areas.
For example, disable user counting for evaluated ID datablocks when
assignment happens. But can also happen later on as a separate
improvement.

Reviewers: brecht, campbellbarton, mont29

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4884
2019-05-17 14:27:13 +02:00
Pablo Vazquez
8b5816e76b Theme: Use blue for Outliner selection highlight. 2019-05-17 13:54:14 +02:00
Pablo Vazquez
7778a6d17c UI: Use 'Blender' as label for app menu.
The Blender icon can be confusing with some window decorations.
2019-05-17 13:53:20 +02:00
Clément Foucault
2bb788d4cd Cleanup: Eevee: Remove custom volumetric matrix
This was the same as using the inverse obmat.
2019-05-17 13:38:42 +02:00
Clément Foucault
52669dda80 Eevee: Remove the Volumetric Render checkbox
This is to simplify the usage of Volumetrics.

Now it automatically detect if there is any Volumetric material in the
view and allocate the needed buffer if any.
2019-05-17 13:38:42 +02:00
Clément Foucault
b526221315 Eevee: Remove the Subsurface Render checkbox
This is to simplify the usage of SSS.

Now it automatically detect if there is any SSS material in the view and
allocate the needed buffer if any.
2019-05-17 13:38:42 +02:00
Clément Foucault
b23af112d2 DRW: Fix warning on MSVC 2019-05-17 13:38:42 +02:00
Clément Foucault
89673f0974 DRW: Make fullscreen vertex shader position and uv without attributes 2019-05-17 13:38:42 +02:00
Clément Foucault
26beaa2d90 Cleanup: Eevee: Use SET_FLAG_FROM_TEST 2019-05-17 13:38:42 +02:00
William Reynish
4856474b16 UI: Sequencer sidebar tweaks for the viewer
- Move the Channels setting to the View panel
  - Remove double separators in the View panel
  - Close the Scene panel by default - it only applies in rare cases
  - Move the Frame Overlay from the header to a sidebar panel
    Previously it used a strange ghost icon, and it make the other controls jump around
    Now uses clearer naming
2019-05-17 13:38:34 +02:00
William Reynish
cf433caa89 UI: Put Sequencer Proxy & Cache panels back into separate category
This works better, because some things are global for the scene and others are per strip
2019-05-17 13:27:21 +02:00
Philipp Oeser
77f92b8cb7 Update for Depsgraph API changes
Reviewers: sergey

Differential Revision: https://developer.blender.org/D4881
2019-05-17 12:38:05 +02:00
William Reynish
39a29d843e Fix: Add back last Sequencer panel that went missing in 86eefefdc1 2019-05-17 12:01:45 +02:00
William Reynish
9c83061b8d Fix: Sequencer Cache panel was accidentally removed in 86eefefdc1
Also fixed one last panel missing a category
2019-05-17 11:31:49 +02:00
Philipp Oeser
dfbbc5067e Fix T64733: Error baking action
scene.update() needs to be replaced with view_layer.update() after
rBe693918d4074

note: will go over other occurances of scene.update() in a different
commit
2019-05-17 10:45:30 +02:00
Brecht Van Lommel
6864d0b6f1 API Docs: fix mistake in example code 2019-05-17 10:43:31 +02:00
Sergey Sharybin
f50cef95ef Report an error when trying to remove non-in-main datablock
After recent dependency graph API changes it became easy to violate
ownership design (since its changed) and request removal of out-of-main
temporary mesh. This confuses Blender and can cause crashes/locks.

Fixes T64731: Blender freezes after assigning result of object.to_mesh()
2019-05-17 10:38:16 +02:00
Brecht Van Lommel
32b5f24c2a API Docs: add example use cases for mesh functions, fix wrong description 2019-05-17 10:34:20 +02:00
Sergey Sharybin
5186cfbea4 Depsgraph: State behavior details more explicitly 2019-05-17 10:24:45 +02:00
Philipp Oeser
e02f68c577 Fix T64713: Link to Collection Textfield does not become active
automatically
2019-05-17 10:01:19 +02:00
mano-wii
d7628d4b7f Mesh Select: use select context instead of static structs
This patch does not bring any functional change, but it does expose
some utilities that can be very useful to correct occlusion and
performance problems of Circle Select and similar.
Creating a selection context still makes it easier to track issues.
2019-05-17 15:02:19 +10:00
Campbell Barton
1f22a20d5f Fix face mask edge select drawing
All edges were drawing black.
2019-05-17 14:11:22 +10:00
Campbell Barton
42cd07c28c 3D View: Support texture paint mask clipping 2019-05-17 14:04:59 +10:00
Campbell Barton
7baddbf818 UI: add tool panel for node editor, use tabs
This follows the 3D view, adding an "Options" tab.
2019-05-17 12:48:51 +10:00
Ray Molenkamp
2a9214eaaf makesdna: Fix build error on win32.
Win32 has some special struct alignment rules that makesdna
is not warning about. See

https://developer.blender.org/T63164#652815

for details.
2019-05-16 18:03:20 -06:00
Brecht Van Lommel
387c1f2e0d Tests: add more descriptive messages when idiff is not available
Based on patch contributed by Diana Picus in D4355.
2019-05-16 20:25:09 +02:00
Brecht Van Lommel
c83f13d451 Preference: don't autosave preferences when running with --factory-startup
This case is likely intended to be temporary, for manual or automated tests.
2019-05-16 20:15:55 +02:00
Pablo Vazquez
d726d7e462 Theme: Update Blender Light to match viewport and default theme. 2019-05-16 20:01:41 +02:00
Brecht Van Lommel
4c4ac1158b Images: more tweaks to save all modified images
Support showing warning messages before saving for cases that we can detect
in advance, to be used by quit dialog.
2019-05-16 19:58:52 +02:00
Pablo Vazquez
0c2add7ca3 Theme: Match new Outliner color settings with viewport. 2019-05-16 19:53:55 +02:00
Pablo Vazquez
3324753f15 Theme: stick bones too bright and vertex select too dark. 2019-05-16 19:53:55 +02:00
Brecht Van Lommel
3076544c8c Fix T64725: light power property dragging uses too small increments 2019-05-16 19:17:32 +02:00
Jacques Lucke
a7542b9e2b BLI_memarena: unpoison memory before freeing it 2019-05-16 18:19:14 +02:00
Sergey Sharybin
4878b29b49 Use edit evaluated mesh when creating mesh for object in edit mode
Makes the result of object.to_mesh() and bpy.meshes.new_from_object()
to be the same as what is visible in the viewport.

This makes Cycles to respect modifiers enabled in edit mode, and should
also easy some scripter's work. The final render still needs some work,
which, maybe, will be about forcing objects out of editing modes.
2019-05-16 18:11:47 +02:00
Jeroen Bakker
9f6670ca37 Cycles/Eeeve: unify film transparent setting
For existing files, it will use the setting from Cycles or Eevee depending on
the render engine in the scene.

Differential Revision: https://developer.blender.org/D4874
2019-05-16 17:40:13 +02:00
Sergey Sharybin
2ee762344f Cycles: Fix missing viewport updates after recent changes
We can not access ensured-to-be-evaluated dependency graph from the
render API: some of it is running from within evaluation which makes
it possible for engines to access list of evaluated IDs.

Solved by passing dependency graph to viewport functions, similar to
the final render functions.
2019-05-16 17:24:16 +02:00
Brecht Van Lommel
aac95aa1e9 Images: move save modified images operator from Python to C
We will use this for saving images along with the .blend file.

Ref D4861
2019-05-16 16:57:38 +02:00
Pablo Vazquez
c1ec6f00f2 UI: Move Recover operators into own menu under File. 2019-05-16 16:56:03 +02:00
Pablo Vazquez
8d2c42c9bc UI: Blender and Help menu tweaks and organization.
Blender menu:
- Move Preferences to the top as it is used often.
- Introduce two new sub-menus
  - About - links from Help menu, plus link to license section in blender.org
  - Support Blender - dev fund, store, they used to be in Help menu.

Help menu:
- Add links to Tutorials and Support section in blender.org
- Add link to Developer Documentation (wiki)
- Always show Python API Reference link
2019-05-16 16:56:03 +02:00
Sergey Sharybin
32d5d127cb Tweak API to support adding evaluated meshes to main database
One of the usecases is to create mesh from an object is a manner similar to
how Apply Modifiers does it, and have it in the bmain so it can be referenced
by other objects.

This usecase is something what went unnoticed in the previous API changes, so
here is a followup.

Summary of changes:

* bpy.meshes.new_from_object() behaves almost the same as before this change.
  The difference now is that it now ensures all referenced data-blocks are
	original (for example, materials referenced by the mesh).

* object.to_mesh() now creates free-standing Mesh data-block which is outside
  of any bmain. The object owns it, which guarantees the memory never leaks.

  It is possible to force free memory by calling object.to_mesh_clear().

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4875
2019-05-16 16:42:16 +02:00
Campbell Barton
22a91bb0bd Cleanup: pep8 & remove odd empty string addition 2019-05-17 00:28:22 +10:00
Jeroen Bakker
d93a47b7bb EEVEE: Viewport Rendering TAA
EEVEE assumed that the OGL renderer did FSAA, as the FSAA was removed we
needed to revalidate this assumption. The temporal sampling only inited
the matrices during init phase. As now we need to update the matrices
for every sample rendered the code for updating the matrices was
isolated in a new function `EEVEE_temporal_sampling_update_matrices`.

Reviewed By: fclem

Maniphest Tasks: T64646

Differential Revision: https://developer.blender.org/D4871
2019-05-16 16:02:56 +02:00
Brecht Van Lommel
3b51260387 Revert "Tests: speed up render tests by running multiple in the same process"
This makes finding the crashing tests harder, reverting until there is a
better solution.

This reverts commit 93901e7f0a.
2019-05-16 15:50:47 +02:00