Commit Graph

75472 Commits

Author SHA1 Message Date
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
Jeff Knox
f1d6bad4b6 Fix T51776: Make sure button icons are updated on Ctrl-ScrollWheel 2017-07-27 12:55:17 +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
Julian Eisel
920bff5224 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 11:49:41 +02:00
Julian Eisel
129c3ac7b3 Minor code style corrections 2017-07-27 11:44:51 +02:00
Aleksandr Zinovev
ec22809025 Fix Label colors in popups 2017-07-27 10:27:29 +03:00
Aleksandr Zinovev
3e8b2288f5 Fix: use click style if a pie was spawned by release or click event 2017-07-27 10:13:40 +03: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
Campbell Barton
f848374e49 Cleanup: rename active to modal
This matches operators naming and should avoid confusion in future if we
want to use active as term for last-selected.
2017-07-25 22:39:58 +10:00
Sergey Sharybin
762fa7bee3 Depsgraph: Remove unsued node flag 2017-07-25 14:06:36 +02:00
Campbell Barton
5d327eda98 Manipulator: option to draw all while interacting 2017-07-25 22:02:16 +10:00
Campbell Barton
0612011b91 Manipulator: support select-drag to tweak 2017-07-25 21:34:20 +10:00
Campbell Barton
b97bf844b3 Merge branch 'master' into blender2.8 2017-07-25 20:53:10 +10:00
Campbell Barton
edc6bec9d6 PyAPI: Skip user scripts w/ factory-startup
Adds bpy.app.factory_startup,
used to check if user scripts should be loaded.
2017-07-25 20:52:08 +10:00
Campbell Barton
8a2fdb3749 Manipulator: break after an event is handled
Now works the same as other event handling functions.
2017-07-25 20:17:54 +10:00