Commit Graph

14379 Commits

Author SHA1 Message Date
Brecht Van Lommel
f9cf2e2f6c Workspaces: remove workspace engine, use 3D viewport draw mode instead.
ViewRender was removed, which means we can't get the render engine for files
saved in 2.8. We assume that any files saved in 2.8 were intended to use Eevee
and set the engine to that.

A fix included with this is that .blend thumbails now draw with Clay mode,
and never Eevee or Cycles. These were drawn with solid mode in 2.7, and should
be very fast and not e.g. load heavy image textures.

Differential Revision: https://developer.blender.org/D3156
2018-04-18 16:35:38 +02:00
Sybren A. Stüvel
9b338e8028 Merge remote-tracking branch 'origin/master' into blender2.8
Explicitly undoing 287d1924fa here, as that was a master-only change.
2018-04-18 12:28:13 +02:00
Bastien Montagne
2117e46e5b Disable auto-override for all but active object in group case.
I.E. only enable auto-override for 'active' selected object when making
an override of a linked group. This will ease on auto-override creation,
and you typically do not want to auto-override most objects in the group
anyway (in proxy system, you could only proxyfy one object of the group
anyaway!).
2018-04-18 11:41:07 +02:00
Bastien Montagne
7cdc0b76aa Make depsgraph tag for auto-override IDs it updates.
This will reduce amount of needless auto-override checks, at least when
not touching anything related to overriding IDs...
2018-04-18 11:25:31 +02:00
Sergey Sharybin
0afe103269 Particles: Interpolate size for interpolated children
This finally allows us to use Random factor to add variations to the
interpolated children. This feature never worked since 2007L there was
random factor slider in the interface, but it was only used by simple
children. Now it has affect on interpolated children as well.

Technically, this will break compatibility if older file had random
factor set to something else than 0 (default value is 0 though). But
we are leaving 2.7 series, so can accept such breackage in the name
of supported features.
2018-04-18 10:52:27 +02:00
Bastien Montagne
05ef225272 Cleanup: rename 'static override regarding reference ID' tag.
Just 'OK' was waaayyyyyy too generic!
2018-04-18 10:45:50 +02:00
Campbell Barton
7d055da327 Move transform orientation to scene
This was stored in the workspace, selected from the view.
Move both to scene since custom orientations are closely related to your
scene data.
2018-04-18 09:16:15 +02:00
Campbell Barton
ee11c85c06 CMake: make recent bad level include explicit
This isn't something we should do,
each instance should be noted and removed.
2018-04-18 08:21:24 +02:00
Dalai Felinto
fb24813d64 Remove game properties in image editor
The following properties were used by the Blender Game Engine and no longer
need to be around:

* Animated
* Tiles
* Clamp
* Mapping
2018-04-17 17:51:28 +02:00
Dalai Felinto
159806140f Removing Blender Game Engine from Blender 2.8
Folders removed entirely:
* //extern/recastnavigation
* //intern/decklink
* //intern/moto
* //source/blender/editors/space_logic
* //source/blenderplayer
* //source/gameengine

This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.

Pending tasks:
* Tile/clamp code in image editor draw code.
* Viewport drawing code (so much of this will go away because of BI removal
  that we can wait until then to remove this.
2018-04-17 17:51:28 +02:00
Jeroen Bakker
3759b2aa59 Merge branch 'blender2.8' into blender2.8-workbench 2018-04-17 14:59:37 +02:00
Campbell Barton
963b1c8e41 Pose: fix wpaint + pose mode pick & linked select 2018-04-17 11:23:58 +02:00
Campbell Barton
a04b551e40 BKE_object: utility functions for pose access
Pose objects may be from the active object,
or from the weight paint mesh.

Since this is such a common check move this to a function call.
2018-04-17 10:22:40 +02:00
Mai Lavelle
be3392e0f9 Make particle edit mode work again
This is just to have hair rendering and editing mostly working as in
master. A better fix is probably needed, there seems to be some
missing depsgraph relations for particle edit settings, and particle
edit code doesn't rebuild caches after applying edits. But at least
you can see and interact with hair now until those things can be
sorted out.
2018-04-17 03:41:04 -04:00
Campbell Barton
af1c220d89 Fix for building w/o open-subdiv 2018-04-16 20:45:43 +02:00
Jeroen Bakker
c7d6aa4338 Merge branch 'blender2.8' into blender2.8-workbench 2018-04-16 20:35:59 +02:00
Brecht Van Lommel
34ab90f546 Depsgraph: remove EvaluationContext, pass Depsgraph instead.
The depsgraph was always created within a fixed evaluation context. Passing
both risks the depsgraph and evaluation context not matching, and it
complicates the Python API where we'd have to expose both which is not so
easy to understand.

This also removes the global evaluation context in main, which assumed there
to be a single active scene and view layer.

Differential Revision: https://developer.blender.org/D3152
2018-04-16 19:55:33 +02:00
Campbell Barton
8710943570 Cleanup: indentation 2018-04-16 18:24:38 +02:00
Campbell Barton
49ee1a97d2 Merge branch 'master' into blender2.8 2018-04-16 18:22:43 +02:00
Campbell Barton
eb6fe5fa94 Cleanup: indentation 2018-04-16 18:13:48 +02:00
Campbell Barton
bfc9d426bb Multi-Object Editing
This adds initial multi-object editing support.

- Selected objects are used when entering edit & pose modes.
- Selection & tools work on all objects however many tools need porting
  See: T54641 for remaining tasks.

Indentation will be done separately.

See patch: D3101
2018-04-16 17:56:50 +02:00
Campbell Barton
9a11aeb300 Merge branch 'master' into blender2.8 2018-04-16 17:24:20 +02:00
Campbell Barton
85de548e03 Cleanup: indentation 2018-04-16 17:08:27 +02:00
Campbell Barton
eb3ae79c2d Merge branch 'master' into blender2.8 2018-04-16 16:22:34 +02:00
Campbell Barton
141f0f4c47 BKE_context: macro to access ID's while looping 2018-04-16 16:19:16 +02:00
Julian Eisel
57c651d248 Cleanup: move some screen utility functions, from topbar branch. 2018-04-16 15:18:48 +02:00
Jeroen Bakker
4ed21f1360 Merge branch 'blender2.8' into blender2.8-workbench 2018-04-16 15:02:40 +02:00
Jeroen Bakker
410810d42f Workbench: Added Object Color to collection_properties 2018-04-16 15:01:31 +02:00
Sergey Sharybin
8ad93dd009 Merge branch 'master' into blender2.8 2018-04-16 10:19:03 +02:00
Sergey Sharybin
6617818c7a Make ID icons safe for deletion from threads
Added a lock-free deferred queue for deletion. Now if ID icon
is requested to be freed from non-main thread, it will be added
to the deferred list. Actual deletion will happen later from main
thread.

Currently actual deletion only happens next time BKE_icon_id_delete()
is called, which might not be enough. But it's easy to enforce
deferred deletion.

Icons for preview images are not covered by deferred deletion yet.

Reviewers: mont29

Differential Revision: https://developer.blender.org/D3146
2018-04-16 10:18:43 +02:00
Campbell Barton
9e2ea6c500 Merge branch 'master' into blender2.8 2018-04-15 12:03:09 +02:00
Campbell Barton
c12d976020 Cleanup: ED_armature naming
- Wasn't clear which functions handle edit-bones.
- Mixed both ebone and edit_bone in names.
- Didn't use ED_armature_* prefix for public API.

See P655 to apply to branches.
2018-04-15 11:50:53 +02:00
Campbell Barton
f3a8f97fcf Merge branch 'master' into blender2.8 2018-04-15 10:52:14 +02:00
Campbell Barton
d0e3fbc06b Cleanup: remove undoing access, minor formatting
Access to undoing state isn't needed,
some text insert code was overly compacted.
2018-04-15 10:48:50 +02:00
Campbell Barton
fb3528d088 Fix T54593: Py text edits crash (undo regression) 2018-04-15 10:34:41 +02:00
Campbell Barton
36152afa76 Merge branch 'master' into blender2.8 2018-04-14 14:34:21 +02:00
Campbell Barton
5ab77ab4ee Cleanup: use const for BKE_object args 2018-04-14 14:27:38 +02:00
Campbell Barton
35785ee7cb Merge branch 'master' into blender2.8 2018-04-14 14:10:27 +02:00
Campbell Barton
2e9b92b5cc Fix T54568: Undo memory de-duplication failed
Error in 651b8fb14e caused de-duplication to fail.
2018-04-14 12:30:14 +02:00
Brecht Van Lommel
7b9fb32591 Python API: remove preview/render resolution settings from API functions.
For correct results these must have been set already when the depsgraph was
created and evaluated, so all dependencies have appropriate resolutions too.

For particle we no longer backup and restore the viewport particles to avoid
overwriting them during render, as copy-on-write solves this for us. Even
without COW particles seem to work ok.

This also removes the particle simplification options based on camera. This
was never used much and only available in Blender Internal.

Differential Revision: https://developer.blender.org/D3148
2018-04-13 14:38:59 +02:00
Brecht Van Lommel
a1e2415ed5 Depsgraph: don't pass evaluation context to update functions.
The depsgraph now contains all the state needed to evaluate it.

Differential Revision: https://developer.blender.org/D3147
2018-04-13 14:17:37 +02:00
Brecht Van Lommel
eec5d3a8a8 Depsgraph: remove engine type from evaluation context.
This was only used for viewport rendering, where we can just pass the engine
type directly. There is no technical reason why we can't draw the same depsgrpah
with different render engines.

It also led to some weird things like requiring a render engine for snapping
and raycast API functions.

Differential Revision: https://developer.blender.org/D3145
2018-04-13 14:17:32 +02:00
Brecht Van Lommel
340bfdef2e Depsgraph: store mode and time in depsgraph, add view layer / scene accessors.
Scene, view layer and mode are now set in the constructor and never changed.
Time is updated on frame changes to indicate which frame is being or has been
evaluated last.

This is a step towards making EvaluationContext obsolete.

Differential Revision: https://developer.blender.org/D3144
2018-04-13 14:17:22 +02:00
Brecht Van Lommel
f0a4c631bb Fix incorrect object in editmode tests in depsgraph eval.
These cases should not depend on the view layer.
2018-04-13 13:04:19 +02:00
Brecht Van Lommel
199715eabc Point cache: stop using general object dupli system.
We now only look into dupli groups to find point caches to edit. This
feature is a leftover from the old proxy system, and evaluating the
full dupli list and all transforms was overkill. With static overrides
we may want to get rid of using duplis entirely, and just let users
select the objects directly.
2018-04-13 11:47:29 +02:00
Brecht Van Lommel
d8bdd7b261 Cleanup: add utility function to find a single point cache ID. 2018-04-13 11:31:19 +02:00
Sergey Sharybin
fac1892e11 Depsgraph: Bind base by it's index
For the performance we convert object bases list to an array
during view layer evaluation. This makes it possible to have
very cheap index-based base lookup.

The goal of this change is to get rid of base used for function
binding, and avoid scene datablock expansion at the depsgraph
construction time.
2018-04-12 11:05:18 +02:00
Sergey Sharybin
9c406b786f Depsgraph: Bind view layer by index
Makes it a bit slower to evaluate single view layer, but this is does not
happen often, and overall number of layers is not very high.
2018-04-12 11:05:18 +02:00
Sergey Sharybin
ca2484e090 Depsgraph: Remove function bindings with collections
Use single function to evaluate all the collections for the given view layer.

This way we avoid need to get scene ID sub-data. Similar to pchan index, this
allows us to avoid build-time scene expansion, which also simplifies update of
the scene datablock.

Well, sort of. There is still work to be done to get rid of build-time scene
datablock expansion, which includes:

- Need to pass view layer by index.

  Annoying part would be to get actual view layer for that index. In practice
  doing list lookup might not be such a bad idea, since such lookup will not
  happen very often, and it is unlikely to have more than handful of view
  layer anyway.

  Other idea could be to use view layer from evaluation context.
  Or maybe from depsgraph, which is supposed to be in the context. Can have
  some assert statements to make sure everything is good.

- Need to get id of base binding for flags flush.

  We can replace that with index-based lookup from an array created by view
  layer evaluation.

Reviewers: dfelinto

Differential Revision: https://developer.blender.org/D3141
2018-04-12 11:05:18 +02:00
Bastien Montagne
c1680902ac Fix again 'auto override' system.
Got lost in big undo refactor.

Note that this is probably (maybe) not how we want to have it in the
end, things like EditMode undo should probably not trigger this check?
2018-04-11 15:23:54 +02:00