Sergey Sharybin
03d258d613
Copy on write: Prevent crash when duplicating object with particle system
...
Transform system was using global main, which might have been pointing to a
freed scene layer.
2017-07-27 16:28:16 +02:00
Sergey Sharybin
549f43e928
Depsgraph: Attempt to keep evaluated mesh when possible
...
Currently wouldn't make any difference, but required for upcoming work of
getting rid of time dependency for copy-on-write component.
2017-07-27 15:19:37 +02:00
Sergey Sharybin
6ef34525a1
Depsgraph: Cleanup, variable name
2017-07-27 15:19:37 +02:00
Sergey Sharybin
e90468e5a3
Depsgraph: Cleanup, use some utility functions to shorten construction code
...
Still some cleanup is possible.
2017-07-27 15:19:36 +02:00
Sergey Sharybin
cf38371155
Depsgraph: Create ID nodes on build-time expansion using node builder
...
This will allow us to do some builder-specific trickery when ID nodes are
requested to be created from build-time expansion.
2017-07-27 15:19:36 +02:00
Sergey Sharybin
55527d83e2
Depsgraph: Allow stealing copy-on-written pointer
...
This will become handy when we'll be re-using evaluated meshes for
objects after relations are updated.
2017-07-27 15:19:36 +02:00
Sergey Sharybin
3441af49bd
Depsgraph: Fix possibly missing lamp update when lamp data changes
2017-07-27 15:19:36 +02:00
Sergey Sharybin
41a3aafd48
Depsgraph: Make it possible to use given pre-allocated ID as a copy
2017-07-27 15:19:36 +02:00
Sergey Sharybin
4c5537ed42
Copy on write: Make sure freeing evaluated mesh does not cause crash when re-evaluating the object
2017-07-27 15:19:36 +02:00
Clément Foucault
7d014bca91
DRW: Fix vertex buffer too large.
2017-07-27 14:51:44 +02:00
Clément Foucault
88b911aa9e
Eevee: Fix probes interfeering with SSR.
2017-07-27 14:51:44 +02:00
Clément Foucault
05d73ec06f
Eevee: Planar Reflection: only support mirror reflection if not using SSR.
2017-07-27 14:51:44 +02:00
Clément Foucault
c6a74edcf8
Eevee: Fix bloom once and for all.
...
... Hopefully ...
2017-07-27 14:51:44 +02:00
Clément Foucault
ec6170061e
DRW: Add stats group to eevee and object mode.
2017-07-27 14:51:44 +02:00
Clément Foucault
5bfa3cf6e9
DRW: Revamp the performance debugging tool.
...
Old performance debug was doing queries for every frame even if not debugging perf.
Also, it did not record when a pass was draw multiple time, leading to incorect measurement.
New module also allows to group the timers to limit infos displayed.
Also fix the background CPU draw timer.
2017-07-27 14:51:44 +02:00
Sergey Sharybin
2b8f50e1d4
Depsgraph: Fix crash happening in copy-on-write of images
...
Was a threading conflict or so in the cache limiter, and in fact
we don't even want images to be copied.
2017-07-27 13:26:21 +02:00
Julian Eisel
980efaf4fd
Fix button text overlapping with shortcut text in popups
...
The purpose of the keymap strings is probably for un-embossed menu items
like seen in most pulldowns. I can't see a reason for also adding that
string for regularly drawn buttons within popups, we don't add it
anywhere else in the UI either. So this commit makes sure shortcut
strings are only added to buttons that are drawn like pulldown-menu
items.
2017-07-27 12:28:16 +02:00
Julian Eisel
492b5d0bc3
Minor code style corrections
2017-07-27 12:28:16 +02:00
Aleksandr Zinovev
c72eb6288e
Fix Label colors in popups
2017-07-27 12:28:16 +02:00
Aleksandr Zinovev
72e228a155
Fix: use click style if a pie was spawned by release or click event
2017-07-27 12:28:16 +02:00
Sergey Sharybin
f8bd6adee2
Depsgraph: Skip iterating over all ntree users on node tree parameter update
...
Also make sure drivers on node tree properties will work correctly for viewport.
2017-07-27 11:50:14 +02:00
Campbell Barton
b01d38ef7d
Manipulator: remove names
...
They weren't used anywhere,
both C & Py manipulators better assign to vars (no lookup needed).
2017-07-27 07:43:15 +10:00
Campbell Barton
1f15c61ce1
stub update
2017-07-27 07:41:24 +10:00
Campbell Barton
11e95fcdd2
Merge branch 'master' into blender2.8
2017-07-27 07:35:44 +10:00
Campbell Barton
5c963128ea
Cleanup: remove check for old GCC&PPC
2017-07-27 07:29:16 +10:00
Campbell Barton
17230ec11f
Cleanup: Py3.7x warning
2017-07-27 07:29:16 +10:00
Campbell Barton
48e8a1a167
Fix crash in recent changes to instancing
...
Registrable classes already handled their own instancing,
changes to enable instancing everywhere conflicted.
2017-07-27 03:27:14 +10:00
Campbell Barton
6fe2a48d3e
Last commit broke WITH_PYTHON_SAFETY
...
Re-enable BPY_id_release call with thats enabled.
2017-07-27 02:12:40 +10:00
Campbell Barton
0b5f056119
BPY_id_release was a nop, use RNA invalidate directly
2017-07-27 02:07:04 +10:00
Sergey Sharybin
723f2b292f
Fix T52186: Crash on bevel
...
bContext is not always available in transform, so need to use explicit
scene and scene layer to create evaluation context from.
2017-07-26 16:33:44 +02:00
Sergey Sharybin
22342a7647
CLeanup: Use utility function in BKE
2017-07-26 16:33:44 +02:00
Sergey Sharybin
a01c1849e9
Depsgraph: Add utility function to initialize evaluation context from scene and layer
2017-07-26 16:33:44 +02:00
Sergey Sharybin
e99350aeaa
Cleanup, line wraps
2017-07-26 16:33:44 +02:00
Sergey Sharybin
776c765400
Initialize time for evaluation context when creating from bContext
2017-07-26 16:33:44 +02:00
Bastien Montagne
66e28a2827
Fix T52176: Bevel doesn't correctly work with default empty Vgroup.
...
`defvert_array_find_weight_safe()` was confusing 'invalid vgroup' and
'valid but totally empty vgroup' cases.
Note that this also affected at least ShrinkWrap and SimpleDeform
modifiers.
2017-07-26 16:23:24 +02:00
Campbell Barton
3ed5c9a610
PyAPI: Store PyInstances for ID's
...
This means once an ID is created,
it will keep using the same PyObject instance.
This has some advantages:
- Avoids unnecessary re-creation of instances on UI poll / redraw.
- Accessing free'd ID's gives an exception instead of crashing.
(long standing annoyance!, though this only applies to ID's
and not yet other data that uses the ID's - vertices for eg).
- Allows using instance comparison (a little faster).
Note that the instances won't be kept between undo.
2017-07-26 23:49:20 +10:00
Campbell Barton
40a45e393e
PyAPI: Fix for instancing (Blender owns a reference)
...
Also set newly created values to the instance pointer.
2017-07-26 23:05:00 +10:00
Campbell Barton
80befca6e5
Manipulator: only check for highlight once
...
Was doing 2x lookups which is OK for click-select
but this runs on mouse-move and can become slow.
May enable this again if highlighting logic changes.
Also scale hotspot by pixelsize.
2017-07-26 20:54:37 +10:00
Campbell Barton
245a67386b
blenderplayer stub update
2017-07-26 18:18:32 +10:00
Campbell Barton
2e83897f91
Cleanup: typedef enums
...
Manipulator enum types are easy to confuse, use typedefs.
2017-07-26 18:00:26 +10:00
Campbell Barton
54bc49e6f9
Manipulator: refactor/fix selection logic
...
- Cleanup array access, move into functions.
- Store allocated size to avoid realloc's on every add/remove.
- Make select editable from Python.
- Rename select callback to select_refresh
(collided with select boolean).
- Call select_refresh when de-selecting as well as selection.
2017-07-26 08:34:09 +10:00
Campbell Barton
dee19b8cb7
FaceMaps: add select flag
...
For use by manipulators since they don't have their own persistent data
in the blend file.
2017-07-26 08:34:09 +10:00
Clément Foucault
3b84a0b3d2
Eevee: Fix post process with Ugly color.
...
This was cause by some post process not always sampling the highest mipmap.
But if there is no need for mipmapping (i.e. no SSR) these levels will be undefined.
So forcing all Post FX shader to sample level 0 fix this.
2017-07-25 22:07:35 +02:00
Clément Foucault
4fd70c99a5
Eevee: SSR: Add support for planar probes.
...
This add the possibility to use planar probe informations to create SSR.
This has 2 advantages:
- Tracing is less expensive since the hit is found much quicker.
- We have much less artifact due to missing information.
There is still area for improvement.
2017-07-25 22:07:35 +02:00
Campbell Barton
8c3ecc9651
Workaround for crash drawing face-maps after undo
2017-07-26 05:10:20 +10:00
Campbell Barton
2b1cd24c6e
Fix T52190: Depth picking fails
2017-07-26 02:35:27 +10:00
Sergey Sharybin
80e03e7709
Depsgraph: Support changing scene's render engine
2017-07-25 15:11:51 +02:00
Sergey Sharybin
f7636f0ef2
Depsgraph: Make sure armature mode is properly changed in all copied versions
2017-07-25 14:53:19 +02:00
Sergey Sharybin
6a7d7586e5
Depsgraph: Initial support of pose mode for copy-on-write armature
...
Some basic code, makes it possible to pose existing armature.
Probably still lots of corner cases to cover, but need to start somewhere.
2017-07-25 14:38:10 +02:00
Sergey Sharybin
247ddb6237
Depsgraph: Fix relations update when transform is done and there was no temporary constraints created
2017-07-25 14:38:10 +02:00