blender.git
13 months agoRename: GPU_material_get_uniform_buffer > GPU_material_uniform_buffer_get
Dalai Felinto [Fri, 8 Jun 2018 13:54:11 +0000 (15:54 +0200)]
Rename: GPU_material_get_uniform_buffer > GPU_material_uniform_buffer_get

13 months agoRename: GPU_texture_orphans
Dalai Felinto [Fri, 8 Jun 2018 13:51:25 +0000 (15:51 +0200)]
Rename: GPU_texture_orphans

13 months agoWorkbench: XFlip Matcap per 3D View
Jeroen Bakker [Fri, 8 Jun 2018 14:12:25 +0000 (16:12 +0200)]
Workbench: XFlip Matcap per 3D View

Note: Icons are not yet updated.

13 months agoFix T55387: Render fullscreen from top menu crashes Blender
Julian Eisel [Fri, 8 Jun 2018 13:57:01 +0000 (15:57 +0200)]
Fix T55387: Render fullscreen from top menu crashes Blender

Would try to use data from global area for the newly created fullscreen area.
This should not happen, so instead of a global area use first area from layout.

13 months agoAlembic: replaced BLI_assert() with comment why the assert is wrong
Sybren A. Stüvel [Fri, 8 Jun 2018 13:49:33 +0000 (15:49 +0200)]
Alembic: replaced BLI_assert() with comment why the assert is wrong

The comment also hints at what should be fixed, instead.

13 months agoAlembic: slight clarifications
Sybren A. Stüvel [Fri, 8 Jun 2018 13:46:54 +0000 (15:46 +0200)]
Alembic: slight clarifications

13 months agoAlembic export: get evaluated object when exporting shape
Sybren A. Stüvel [Thu, 7 Jun 2018 16:59:50 +0000 (18:59 +0200)]
Alembic export: get evaluated object when exporting shape

13 months agoAlembic: Moved a BLI_assert
Sybren A. Stüvel [Fri, 8 Jun 2018 13:42:51 +0000 (15:42 +0200)]
Alembic: Moved a BLI_assert

The assert should only be triggered when assigning a pointer, and not
simply when checking the pointer.

13 months agomesh_get_eval_final() should check ob->runtime.mesh_eval
Sybren A. Stüvel [Fri, 8 Jun 2018 13:42:27 +0000 (15:42 +0200)]
mesh_get_eval_final() should check ob->runtime.mesh_eval

It has nothing to do with ob->derivedFinal, which it checked before.

13 months agoAdd check in BKE_pbvh_apply_vertCos that number of deforming cos matches number of...
Bastien Montagne [Fri, 8 Jun 2018 13:42:37 +0000 (15:42 +0200)]
Add check in BKE_pbvh_apply_vertCos that number of deforming cos matches number of pbvh vertices.

This shall help catching issues in future.

13 months agoFix T55404: Auto key with only-available doesn't work
Sergey Sharybin [Fri, 8 Jun 2018 13:42:42 +0000 (15:42 +0200)]
Fix T55404: Auto key with only-available doesn't work

13 months agoCode cleanup
Jeroen Bakker [Fri, 8 Jun 2018 13:35:25 +0000 (15:35 +0200)]
Code cleanup

13 months agoWorkbench: Custom StudioLight UI
Jeroen Bakker [Fri, 8 Jun 2018 13:34:13 +0000 (15:34 +0200)]
Workbench: Custom StudioLight UI

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 13:22:28 +0000 (15:22 +0200)]
Merge branch 'master' into blender2.8

13 months agoGHOST/X11: Map unknown es,dk keys to accentgrave
Campbell Barton [Fri, 8 Jun 2018 13:21:20 +0000 (15:21 +0200)]
GHOST/X11: Map unknown es,dk keys to accentgrave

13 months agoAlembic: fixed MSVC incompatibility
Sybren A. Stüvel [Fri, 8 Jun 2018 13:09:01 +0000 (15:09 +0200)]
Alembic: fixed MSVC incompatibility

13 months agoWorkbench: Default specular settings when no materials are used
Jeroen Bakker [Fri, 8 Jun 2018 13:07:05 +0000 (15:07 +0200)]
Workbench: Default specular settings when no materials are used

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 12:57:17 +0000 (14:57 +0200)]
Merge branch 'master' into blender2.8

13 months agoCleanup: unused var, trailing space
Campbell Barton [Fri, 8 Jun 2018 12:55:47 +0000 (14:55 +0200)]
Cleanup: unused var, trailing space

13 months agoGHOST/X11: Map unknown de,fr keys to accentgrave
Campbell Barton [Fri, 8 Jun 2018 12:53:03 +0000 (14:53 +0200)]
GHOST/X11: Map unknown de,fr keys to accentgrave

This still uses the correct string when typing text,
it just allows the key to be used in keymaps.

We should eventually add scan-code support.

13 months agoAlembic unit tests: fixed compiler errors
Sybren A. Stüvel [Fri, 8 Jun 2018 12:48:26 +0000 (14:48 +0200)]
Alembic unit tests: fixed compiler errors

This doesn't mean the code is correct, but at least it builds.

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 8 Jun 2018 12:38:57 +0000 (14:38 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/blenkernel/BKE_sequencer.h
source/blender/blenkernel/intern/sequencer.c
source/blender/editors/curve/editcurve_paint.c
source/blender/editors/gpencil/gpencil_edit.c
source/blender/editors/gpencil/gpencil_paint.c
source/blender/editors/gpencil/gpencil_utils.c
source/blender/editors/include/ED_object.h
source/blender/editors/include/ED_view3d.h
source/blender/editors/interface/interface_eyedropper_depth.c
source/blender/editors/render/render_opengl.c
source/blender/editors/sculpt_paint/paint_image_proj.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_edit.c
source/blender/editors/space_view3d/view3d_intern.h
source/blender/editors/space_view3d/view3d_select.c
source/blender/editors/space_view3d/view3d_utils.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_snap.c
source/blender/python/intern/gpu_offscreen.c
source/blender/windowmanager/intern/wm_files.c

13 months agoFix T55380: Crash when getting out of EditMode in some cases
Sergey Sharybin [Fri, 8 Jun 2018 12:36:26 +0000 (14:36 +0200)]
Fix T55380: Crash when getting out of EditMode in some cases

Derived meshes are to be dead, so soon this code will be removed as well.

13 months agoWorkbench: Lights user pref
Jeroen Bakker [Fri, 8 Jun 2018 12:30:11 +0000 (14:30 +0200)]
Workbench: Lights user pref

13 months agoPrevent wheel causing spurious click/drag events
Campbell Barton [Fri, 8 Jun 2018 12:09:45 +0000 (14:09 +0200)]
Prevent wheel causing spurious click/drag events

13 months agoAlembic import: fixed memory management for CoW copies of CacheFile blocks
Sybren A. Stüvel [Fri, 8 Jun 2018 11:51:42 +0000 (13:51 +0200)]
Alembic import: fixed memory management for CoW copies of CacheFile blocks

When a CacheFile datablock is copied to an in-main datablock, it means that
the new copy should be independent of the old copy. In this case certain
properties are reset/duplicated. When it is copied to a no-main datablock,
we assume this is a copy-on-write copy that's used for evaluating things,
in which case the handle and object paths are referenced instead of
reset/ duplicated. This prevents us from re-opening the Alembic file every
time a new CoW copy is made.

The same approach is taken when freeing data (only when an in-main datablock
is freed do we actually free the data).

13 months agoAlembic import: assign cache_file handle to original datablock
Sybren A. Stüvel [Fri, 8 Jun 2018 11:52:18 +0000 (13:52 +0200)]
Alembic import: assign cache_file handle to original datablock

13 months agoCleanup: getting rid of G.main.
Bastien Montagne [Fri, 8 Jun 2018 10:16:37 +0000 (12:16 +0200)]
Cleanup: getting rid of G.main.

Sometimes one needs a *lot* of changes for a single G.main... :/

13 months agoFix T55391: Anim render only shows scene state at current frame (no animation)
Sergey Sharybin [Fri, 8 Jun 2018 10:12:26 +0000 (12:12 +0200)]
Fix T55391: Anim render only shows scene state at current frame (no animation)

13 months agoStudiolight: Segment when using float based matcaps
Jeroen Bakker [Fri, 8 Jun 2018 10:10:29 +0000 (12:10 +0200)]
Studiolight: Segment when using float based matcaps

13 months agoDepsgraph: Fix missing relations when camera has drivers
Sergey Sharybin [Fri, 8 Jun 2018 10:04:53 +0000 (12:04 +0200)]
Depsgraph: Fix missing relations when camera has drivers

13 months agoDepsgraph: Cleanup, make conditions more clear and less indented
Sergey Sharybin [Fri, 8 Jun 2018 09:46:51 +0000 (11:46 +0200)]
Depsgraph: Cleanup, make conditions more clear and less indented

13 months agoDepsgraph: Don't optimize out collections used by duplication system
Sergey Sharybin [Fri, 8 Jun 2018 09:42:41 +0000 (11:42 +0200)]
Depsgraph: Don't optimize out collections used by duplication system

This makes evaluated objects to point to a non-evaluated collection,
which is already really bad. What is even more worse, objects in those
collections are not evaluated either.

Proper solution would be to implement visibility flag for nodes, which
will be set to 0 for transform/geometry components, but which will be
1 for copy-on-write components.

This way we will guarantee consistency of dependency graph.

For now this change is good enough and unlocks production.

Fixes T55375: Crash when changing visibility of instanced collection
Fixes T55357: Particle geometry crash

13 months agoDepsgraph: Cleanup, indentation
Sergey Sharybin [Fri, 8 Jun 2018 09:27:58 +0000 (11:27 +0200)]
Depsgraph: Cleanup, indentation

13 months agoDepsgraph: Cleanup, make conditions more clear and less indented
Sergey Sharybin [Fri, 8 Jun 2018 09:25:00 +0000 (11:25 +0200)]
Depsgraph: Cleanup, make conditions more clear and less indented

13 months agoAlembic export: create render-evaluated depsgraph for exporting
Sybren A. Stüvel [Fri, 8 Jun 2018 09:52:36 +0000 (11:52 +0200)]
Alembic export: create render-evaluated depsgraph for exporting

Previously the context depsgraph was used, which (most likely) uses
viewport evaluation instead of render evaluation.

13 months agoCMake: disable WITH_COMPILER_ASAN for CMAKE_BUILD_TYPE Release
Jeroen Bakker [Fri, 8 Jun 2018 09:45:05 +0000 (11:45 +0200)]
CMake: disable WITH_COMPILER_ASAN for CMAKE_BUILD_TYPE Release

13 months agoCleanup: redundant check
Campbell Barton [Fri, 8 Jun 2018 09:28:42 +0000 (11:28 +0200)]
Cleanup: redundant check

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 08:54:51 +0000 (10:54 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix regression in grease pencil drawing
Campbell Barton [Fri, 8 Jun 2018 08:52:49 +0000 (10:52 +0200)]
Fix regression in grease pencil drawing

Drag events finished drawing early.

13 months agoWorkbench: UI for custom studio lights/matcaps
Jeroen Bakker [Thu, 7 Jun 2018 14:01:57 +0000 (16:01 +0200)]
Workbench: UI for custom studio lights/matcaps

- all known image types are supported
- BpyAPI for studiolights added
- added open user pref operator in shading menu
- possible to add multiple files in a single run

For now refreshing studio lights will free all studiolights and reinit
the whole mechanism. This can be improved by only freeing deleted, reset
updated and add new custom studiolights.

details to show currently only shows the path we perhaps want to add
other information also

13 months agoKeymap: continued testing/development (search key)
Campbell Barton [Fri, 8 Jun 2018 08:07:41 +0000 (10:07 +0200)]
Keymap: continued testing/development (search key)

Use Accent/Grave for search, to be more convenient than F-Keys.

This sets F3 back to what it was before.

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 06:50:13 +0000 (08:50 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix T55301: Transform confirm on release fails w/ MMB
Campbell Barton [Fri, 8 Jun 2018 06:48:21 +0000 (08:48 +0200)]
Fix T55301: Transform confirm on release fails w/ MMB

13 months agoWM: backport event/keymap type util from 2.8
Campbell Barton [Fri, 8 Jun 2018 06:46:31 +0000 (08:46 +0200)]
WM: backport event/keymap type util from 2.8

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 06:10:35 +0000 (08:10 +0200)]
Merge branch 'master' into blender2.8

13 months agoCleanup: trailing space
Campbell Barton [Fri, 8 Jun 2018 06:07:48 +0000 (08:07 +0200)]
Cleanup: trailing space

Remove from blender/nodes, collada, blenfont & render.

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 8 Jun 2018 06:02:50 +0000 (08:02 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix recently added drag events closing menus
Campbell Barton [Fri, 8 Jun 2018 06:01:43 +0000 (08:01 +0200)]
Fix recently added drag events closing menus

13 months agoTransform: fix non-3D view editmode assert
Campbell Barton [Fri, 8 Jun 2018 04:31:40 +0000 (06:31 +0200)]
Transform: fix non-3D view editmode assert

13 months agoKeymap: continued testing/development
Campbell Barton [Thu, 7 Jun 2018 18:46:12 +0000 (20:46 +0200)]
Keymap: continued testing/development

After testing in the studio and extending the event system for
drag events, we've agreed on adjustments to the new keymap,
see: T55162

- Tab: Edit-mode toggle.
- Tab + Cursor Drag: mode switching pie menu.
- Accent/Grave: for 3D view pie menu.
- F3: Search
- 1..3, Shift-1..3: Edit mesh vertex/edge/face toggle.

Other minor changes were made, however they aren't part of the design.

- Ctrl-Shift-S: Image editor Save-As (was F3)
- Ctrl-Alt-R: Repeat history (was F3)

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 18:41:10 +0000 (20:41 +0200)]
Merge branch 'master' into blender2.8

13 months agoWM: fix drag events applying after release
Campbell Barton [Thu, 7 Jun 2018 18:37:28 +0000 (20:37 +0200)]
WM: fix drag events applying after release

13 months agoGHOST/X11: Xinput/XIM support caused double key-up
Campbell Barton [Thu, 7 Jun 2018 18:32:51 +0000 (20:32 +0200)]
GHOST/X11: Xinput/XIM support caused double key-up

All keyboard events were sending double key events (including modifiers)
when xinput was enabled with gnome (causing much confusion!).

I cant test if XIM works,
but this isn't useful to send double events, so disabling for now.

13 months agoUniform Buffer Objects: Simplification refactor
Dalai Felinto [Thu, 7 Jun 2018 18:02:34 +0000 (20:02 +0200)]
Uniform Buffer Objects: Simplification refactor

Since we are only creating this and never updating, there is no need for
the original approach with the individual data to be updated.

Note we only populate the GPU data when binding the UBO, so we can in the
future easily create the UBOs in a separate thread than the main drawing one.

Also at the moment animated materials are not working. To fix that we need
to free/tag for free the GPUMaterials in BKE_material_eval.

13 months agoUniform Buffer Object: No more dirty tagging calls/check
Dalai Felinto [Thu, 7 Jun 2018 17:42:00 +0000 (19:42 +0200)]
Uniform Buffer Object: No more dirty tagging calls/check

13 months agoRename GPU_material_create_uniform_buffer > GPU_material_uniform_buffer_create
Dalai Felinto [Thu, 7 Jun 2018 17:40:47 +0000 (19:40 +0200)]
Rename GPU_material_create_uniform_buffer > GPU_material_uniform_buffer_create

13 months agoGLSL: No need to extract the UBO dynamic inputs
Dalai Felinto [Thu, 7 Jun 2018 17:40:08 +0000 (19:40 +0200)]
GLSL: No need to extract the UBO dynamic inputs

13 months agoDon't tag UBO as dirty anymore otherwise it still crashes on render
Dalai Felinto [Thu, 7 Jun 2018 17:19:37 +0000 (19:19 +0200)]
Don't tag UBO as dirty anymore otherwise it still crashes on render

13 months agoBKE_world_eval: cleanup
Dalai Felinto [Thu, 7 Jun 2018 17:15:36 +0000 (19:15 +0200)]
BKE_world_eval: cleanup

13 months agoNo more need to tag sss as dirty for EEVEE
Dalai Felinto [Thu, 7 Jun 2018 17:13:06 +0000 (19:13 +0200)]
No more need to tag sss as dirty for EEVEE

And for the records, this shoudn't have been added to the
GPU_material_uniform_buffer_tag_dirty function since they are unrelated.

13 months agoRemove more printfs ....
Clément Foucault [Thu, 7 Jun 2018 17:06:50 +0000 (19:06 +0200)]
Remove more printfs ....

13 months agoAlembic export: use depsgraph to get evaluated mesh/object
Sybren A. Stüvel [Thu, 7 Jun 2018 16:49:56 +0000 (18:49 +0200)]
Alembic export: use depsgraph to get evaluated mesh/object

13 months agoAlembic export: no need to check particle's mesh_final on export
Sybren A. Stüvel [Thu, 7 Jun 2018 16:35:07 +0000 (18:35 +0200)]
Alembic export: no need to check particle's mesh_final on export

Hair writing is still not working properly, though, but at least now
samples are written at all.

13 months agoAlembic import: don't crash Blender when reading invalid samples
Sybren A. Stüvel [Thu, 7 Jun 2018 16:34:05 +0000 (18:34 +0200)]
Alembic import: don't crash Blender when reading invalid samples

13 months agoAlembic hair writer: avoid double-free
Sybren A. Stüvel [Thu, 7 Jun 2018 15:55:13 +0000 (17:55 +0200)]
Alembic hair writer: avoid double-free

13 months agoAlembic export: cleaned up multiply-passed depsgraph & scene
Sybren A. Stüvel [Thu, 7 Jun 2018 15:54:36 +0000 (17:54 +0200)]
Alembic export: cleaned up multiply-passed depsgraph & scene

Those can now solely be found in the ExportSettings object.

13 months agoEevee: Fix hair not rendering.
Clément Foucault [Thu, 7 Jun 2018 16:58:06 +0000 (18:58 +0200)]
Eevee: Fix hair not rendering.

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 7 Jun 2018 16:45:45 +0000 (18:45 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/editors/sculpt_paint/paint_vertex.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/sculpt_paint/sculpt_undo.c

13 months agoRemove printfs
Clément Foucault [Thu, 7 Jun 2018 16:44:37 +0000 (18:44 +0200)]
Remove printfs

... it's getting late here.

13 months agoFix crash cause by SSS referencing Material Nodetree data.
Clément Foucault [Thu, 7 Jun 2018 16:43:43 +0000 (18:43 +0200)]
Fix crash cause by SSS referencing Material Nodetree data.

13 months agoFix memleak with GPUhairs.
Clément Foucault [Thu, 7 Jun 2018 16:43:10 +0000 (18:43 +0200)]
Fix memleak with GPUhairs.

13 months agoCleanup: typo, and 0 -> false for booleans.
Bastien Montagne [Thu, 7 Jun 2018 16:35:37 +0000 (18:35 +0200)]
Cleanup: typo, and 0 -> false for booleans.

13 months agoWireframe: Fix edges or non manifold meshes not showing.
Clément Foucault [Thu, 7 Jun 2018 16:01:29 +0000 (18:01 +0200)]
Wireframe: Fix edges or non manifold meshes not showing.

This will show the associated edges to the vertices but that's the only
workaround I can think of right now.

13 months agoWireframe: Change / Optimize the limited wireframe visibility option.
Clément Foucault [Thu, 7 Jun 2018 14:55:41 +0000 (16:55 +0200)]
Wireframe: Change / Optimize the limited wireframe visibility option.

This make the limited wireframe not a performance problem anymore.

However, this does change the number of edges displayed as the threshold
is now computed per vertex instead of per edges.

For this reason we extended (internaly) the range of the slider so that the
users can hide more edge.

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 15:08:55 +0000 (17:08 +0200)]
Merge branch 'master' into blender2.8

13 months agoWM: add support for drag events
Campbell Barton [Thu, 7 Jun 2018 15:05:49 +0000 (17:05 +0200)]
WM: add support for drag events

This allows for a single key to be mapped to both release and drag,
useful for pie menus to share a key with a different action.

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 14:53:31 +0000 (16:53 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix key repeat events resetting the click timer
Campbell Barton [Thu, 7 Jun 2018 14:51:03 +0000 (16:51 +0200)]
Fix key repeat events resetting the click timer

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 14:45:10 +0000 (16:45 +0200)]
Merge branch 'master' into blender2.8

13 months agoCleanup: trailing space for windowmanager
Campbell Barton [Thu, 7 Jun 2018 14:43:52 +0000 (16:43 +0200)]
Cleanup: trailing space for windowmanager

13 months agoDraw: Fix crash when tryign to get procedural textures with modifier disabled
Sergey Sharybin [Thu, 7 Jun 2018 14:38:52 +0000 (16:38 +0200)]
Draw: Fix crash when tryign to get procedural textures with modifier disabled

Maybe disabled modifier check should be done higher in the call hierarchy.

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 14:32:40 +0000 (16:32 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix T55126: COW problem: there is an active object even if unselectable
Sergey Sharybin [Thu, 7 Jun 2018 14:30:19 +0000 (16:30 +0200)]
Fix T55126: COW problem: there is an active object even if unselectable

13 months agoWM: check for release instead of not pressed
Campbell Barton [Thu, 7 Jun 2018 14:19:59 +0000 (16:19 +0200)]
WM: check for release instead of not pressed

Makes reasoning about events more predictable.

13 months agoCleanup: typo.
Bastien Montagne [Thu, 7 Jun 2018 14:02:55 +0000 (16:02 +0200)]
Cleanup: typo.

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 7 Jun 2018 13:41:57 +0000 (15:41 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/editors/transform/transform_generics.c

13 months agoFix crash due to missing init of new bAnimContext bmain member in transform code.
Bastien Montagne [Thu, 7 Jun 2018 13:38:31 +0000 (15:38 +0200)]
Fix crash due to missing init of new bAnimContext bmain member in transform code.

From own previous G.main-busting commit.

13 months agoFix sculpt mode undo (COW update needed)
Campbell Barton [Thu, 7 Jun 2018 13:15:54 +0000 (15:15 +0200)]
Fix sculpt mode undo (COW update needed)

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 12:58:57 +0000 (14:58 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix double free in dyntopo-sculpt mode undo
Campbell Barton [Thu, 7 Jun 2018 12:54:09 +0000 (14:54 +0200)]
Fix double free in dyntopo-sculpt mode undo

13 months agoWireframe: Frustum cull them.
Clément Foucault [Thu, 7 Jun 2018 12:49:54 +0000 (14:49 +0200)]
Wireframe: Frustum cull them.

13 months agoDepsgraph: Ensure collections are up to date after modifications
Sergey Sharybin [Thu, 7 Jun 2018 12:39:58 +0000 (14:39 +0200)]
Depsgraph: Ensure collections are up to date after modifications

Before that copied collection in copy-on-write were running out
of sync with original ones. This was causing crash with the
following scenario:

- Delete some objects from scene
- Add particle system to an object
- Change particle mode to Hair

Thanks Dalai for debug session! Pair programming ftw!

13 months agoDepsgraph: Use more proper relations for scene relation
Sergey Sharybin [Thu, 7 Jun 2018 10:57:09 +0000 (12:57 +0200)]
Depsgraph: Use more proper relations for scene relation

13 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 7 Jun 2018 11:41:32 +0000 (13:41 +0200)]
Merge branch 'master' into blender2.8

13 months agoFix sculpt assert on initialization
Campbell Barton [Thu, 7 Jun 2018 11:38:46 +0000 (13:38 +0200)]
Fix sculpt assert on initialization

13 months agoArmature: Fix flickering outline on planar custom bones.
Clément Foucault [Thu, 7 Jun 2018 11:38:10 +0000 (13:38 +0200)]
Armature: Fix flickering outline on planar custom bones.

13 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 7 Jun 2018 11:04:16 +0000 (13:04 +0200)]
Merge branch 'master' into blender2.8

 Conflicts:
source/blender/editors/animation/anim_deps.c
source/blender/editors/animation/keyframing.c
source/blender/editors/animation/keyingsets.c
source/blender/editors/armature/pose_edit.c
source/blender/editors/armature/pose_transform.c
source/blender/editors/gpencil/gpencil_convert.c
source/blender/editors/include/ED_anim_api.h
source/blender/editors/include/ED_keyframing.h
source/blender/editors/interface/interface_anim.c
source/blender/editors/space_action/action_edit.c
source/blender/editors/space_graph/graph_edit.c
source/blender/editors/space_outliner/outliner_draw.c
source/blender/editors/transform/transform_conversions.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_pose.c
source/blender/python/intern/bpy_rna_anim.c
source/blenderplayer/bad_level_call_stubs/stubs.c
source/gameengine/Converter/KX_BlenderSceneConverter.cpp

13 months agoArmature: Fix missing loose edges on custom bone shapes.
Clément Foucault [Thu, 7 Jun 2018 10:58:14 +0000 (12:58 +0200)]
Armature: Fix missing loose edges on custom bone shapes.

13 months agoFix T55062: Depsgraph: Crash with COW with EEVEE viewport
Dalai Felinto [Thu, 7 Jun 2018 10:47:16 +0000 (12:47 +0200)]
Fix T55062: Depsgraph: Crash with COW with EEVEE viewport

We now remove the shader for every update.

So at the moment the whole point of UBO (Uniform Buffer Objects) is that they
are more efficient than individual uniforms.

Next steps is a harmless refactor to stopping UBO from referring to original
data in the UBO, and simply copying it.

It would also be interesting to make the final shader more granular as far as
the library and required functions are concerned. Even if this doesn't impact
performance, it should give us smaller easy to debug shaders
(a simple shader now has > 5k lines!).

If performance for animated values is measureable slower after this commit we
can port the shader creation CPU side to the depsgraph - localizing the tree,
hashing, lookup, ...

Additionally we can stick to update the UBO when the material changes but not
its topology. This is very trick because of localized trees. So we will only
re-visit this if profiling hints at any benefit from it.