3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 25 Jan 2018 09:15:31 +0000 (10:15 +0100)]
Merge branch 'master' into blender2.8


3 years agoFix T53363: Blender won't update mesh's usercount when deleting object datablocks...
Bastien Montagne [Thu, 25 Jan 2018 09:11:12 +0000 (10:11 +0100)]
Fix T53363: Blender won't update mesh's usercount when deleting object datablocks in Editmode.

Only do special handling of ob->data pointer in case we are remapping to
a valid (non-NULL) other obdata. Otherwise, handle it as any other
'remapping to NULL' case.

Hopefully not breaking anything else...

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 25 Jan 2018 05:28:06 +0000 (16:28 +1100)]
Merge branch 'master' into blender2.8

3 years agoUI: change tool-tips to be stored in the screen
Campbell Barton [Thu, 25 Jan 2018 05:17:25 +0000 (16:17 +1100)]
UI: change tool-tips to be stored in the screen

Move timer and tip out of button code,
now the only requests a tooltip,
passing a creation callback to run.

Needed for manipulators in 2.8,
also helps de-duplicate logic - since we never want
multiple tool-tips showing at once.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 24 Jan 2018 23:31:37 +0000 (10:31 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: correct ATTR_NONNULL use
Campbell Barton [Wed, 24 Jan 2018 23:21:31 +0000 (10:21 +1100)]
Cleanup: correct ATTR_NONNULL use

3 years agoFix T53874: more cases of OpenGL render to OpenEXR not working after recent changes.
Brecht Van Lommel [Wed, 24 Jan 2018 14:55:54 +0000 (15:55 +0100)]
Fix T53874: more cases of OpenGL render to OpenEXR not working after recent changes.

3 years agoFix T53593: sculpt brush rake spacing bug after recent bugfix.
Brecht Van Lommel [Wed, 24 Jan 2018 13:25:59 +0000 (14:25 +0100)]
Fix T53593: sculpt brush rake spacing bug after recent bugfix.

3 years agoFix T53115: Memleak with instanced groups and Cycles
Sergey Sharybin [Wed, 24 Jan 2018 14:46:34 +0000 (15:46 +0100)]
Fix T53115: Memleak with instanced groups and Cycles

The issue was caused by Cycles allocating ID property in a temporary object
which gets overwritten and thrown away every so often.

Now dependency graph will try to reliably check whether ID properties from
a temp object are to be freed.

3 years agoDepsgraph: Cleanup, line wrap
Sergey Sharybin [Wed, 24 Jan 2018 14:34:33 +0000 (15:34 +0100)]
Depsgraph: Cleanup, line wrap

3 years agoDepsgraph: Add missing synchronize code to scene
Sergey Sharybin [Wed, 24 Jan 2018 14:01:05 +0000 (15:01 +0100)]
Depsgraph: Add missing synchronize code to scene

The issue here is that we can not duplicate the whole datablock since we
use view layer pointers in depsgraph callbacks.

Maybe this whole chunk of code belongs to somewhere else, or maybe we
can find a smart solution to avoid need of CoW pointers passed to the
evaluation functions.

This fixes lack of viewport update when toggling collection enabled flag.

3 years agoAdd utility function to reset ID property value to a given one
Sergey Sharybin [Wed, 24 Jan 2018 14:00:01 +0000 (15:00 +0100)]
Add utility function to reset ID property value to a given one

This is similar to idproperty_reset() defined in layer.c, but it does not
re-alloc property itself.

We should replace idproperty_reset() with IDP_Reset() now.

3 years agoManipulator: icon highlight could be darker
Campbell Barton [Wed, 24 Jan 2018 13:44:55 +0000 (00:44 +1100)]
Manipulator: icon highlight could be darker

Use color and highlight from theme.

3 years agoFix for fix w/ GPU_batch_wire_from_poly_2d_encoded
Campbell Barton [Wed, 24 Jan 2018 13:43:45 +0000 (00:43 +1100)]
Fix for fix w/ GPU_batch_wire_from_poly_2d_encoded

Was missing first edge

3 years agoFix T53646: Blender 2.8 multiple crashes in auto UVs generation
Sergey Sharybin [Wed, 24 Jan 2018 13:00:49 +0000 (14:00 +0100)]
Fix T53646: Blender 2.8 multiple crashes in auto UVs generation

Make sure scene and view_layer set for depsgraph before running editors
update. This is required since tagging might happen before we created depsgraph.

3 years agoManipulator: add show_drag option for 2d buttons
Campbell Barton [Wed, 24 Jan 2018 12:29:17 +0000 (23:29 +1100)]
Manipulator: add show_drag option for 2d buttons

Needed so 3d navigation buttons can show show drag cursor
only for buttons with modal operators.

3 years agoFix bug in view navigation icons
Campbell Barton [Wed, 24 Jan 2018 11:54:11 +0000 (22:54 +1100)]
Fix bug in view navigation icons

Own error in GPU_batch_wire_from_poly_2d_encoded
Wasn't correctly filling in the VBO with edges.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 24 Jan 2018 11:14:59 +0000 (12:14 +0100)]
Merge branch 'master' into blender2.8


3 years agoDepsgraph: Fix crash entering edit mode with CoW enabled
Sergey Sharybin [Wed, 24 Jan 2018 10:46:54 +0000 (11:46 +0100)]
Depsgraph: Fix crash entering edit mode with CoW enabled

The issue was caused by some incompatibility of new API which expects ID block
to be specified explicitly, while old code is tagging object's data using
object's ID with OB_RECALC_DATA flag.

We need to switch all areas to give proper ID and everything, but for until
then we'd better stop crashing.

3 years agoCleanup: MOD_wireframe: remove useless isDisabled callback.
Bastien Montagne [Wed, 24 Jan 2018 10:20:46 +0000 (11:20 +0100)]
Cleanup: MOD_wireframe: remove useless isDisabled callback.

3 years agoFix (unreported) missing feature in ccgdm pbvh generator.
Bastien Montagne [Wed, 24 Jan 2018 10:17:53 +0000 (11:17 +0100)]
Fix (unreported) missing feature in ccgdm pbvh generator.

Compared to usual cddm one, ccgdm one was not applying the
ob->derivedDeform deformation to the pbvh generated from the
original mesh geometry, when possible.

3 years agoFix T53551: Weight paint crash when subsurf modifier is not first (master not 2.79).
Bastien Montagne [Wed, 24 Jan 2018 10:13:49 +0000 (11:13 +0100)]
Fix T53551: Weight paint crash when subsurf modifier is not first (master not 2.79).

We can only support painting from subsurf DM in a limited subset of
cases, others (like multiple subsurf, or topology-modyfying ones,
break mapping to original geometry).

This is not the most ideal fix (ideally, we should always be able to get
a mapping to original geometry from any point in modifiers stack...).

3 years agoBKE's modifier_isEnabled: add check on NULL Scene pointer.
Bastien Montagne [Wed, 24 Jan 2018 10:12:01 +0000 (11:12 +0100)]
BKE's modifier_isEnabled: add check on NULL Scene pointer.

We do not always have that one available, and even without the
isDisabled callback this func is helpful.

Note that this is a bot stupid, only modifier actually needing a valid
Scene pointer here is subsurf... :|

3 years agoFix T53874: OpenGL render to OpenEXR not working after recent changes.
Brecht Van Lommel [Wed, 24 Jan 2018 10:03:03 +0000 (11:03 +0100)]
Fix T53874: OpenGL render to OpenEXR not working after recent changes.

Multilayer EXR also failed already in 2.79 for Sequencer and OpenGL rendering.
Now we revert to single layer OpenEXR in that case.

3 years agoDepsgraph: Fix evaluaiton order with nested animation and copy on write
Sergey Sharybin [Wed, 24 Jan 2018 10:00:37 +0000 (11:00 +0100)]
Depsgraph: Fix evaluaiton order with nested animation and copy on write

It is possible to have animation (or driver) to modify nested datablock, such
as shape key value for example (where animation is on Mesh level, but shape key
is it's own datablock). To deal with such cases we need to create relation
from nested datablock CoW to animaiton/driver operation.

3 years agoFix T53878: Cycles bug rendering multiple render layers with different passes.
Brecht Van Lommel [Wed, 24 Jan 2018 09:56:13 +0000 (10:56 +0100)]
Fix T53878: Cycles bug rendering multiple render layers with different passes.

This was caused by recent pass refactoring from f78e963.

3 years agoFix Cycles GLSL bump not matching final render after recent changes.
Brecht Van Lommel [Wed, 24 Jan 2018 07:24:21 +0000 (08:24 +0100)]
Fix Cycles GLSL bump not matching final render after recent changes.

3 years agoCleanup: typo
Campbell Barton [Wed, 24 Jan 2018 07:22:59 +0000 (18:22 +1100)]
Cleanup: typo

3 years agoManipulators: disable 3D widgets w/ animation
Campbell Barton [Wed, 24 Jan 2018 06:31:11 +0000 (17:31 +1100)]
Manipulators: disable 3D widgets w/ animation

Workaround for T53078.

3 years agoFix Cycles inserting displacement node when there is a custom node setup instead.
Brecht Van Lommel [Wed, 24 Jan 2018 06:08:36 +0000 (07:08 +0100)]
Fix Cycles inserting displacement node when there is a custom node setup instead.

3 years agoFix "GPUTexture: texture alloc failed. Not enough Video Memory." in area resizing
Germano [Wed, 24 Jan 2018 00:50:05 +0000 (22:50 -0200)]
Fix "GPUTexture: texture alloc failed. Not enough Video Memory." in area resizing

`gpu_texture_try_alloc` invalidates zero-sized textures.
The message in the console is not correct in this case (because it is not due to lack of memory).

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 24 Jan 2018 00:45:34 +0000 (11:45 +1100)]
Merge branch 'master' into blender2.8

3 years agoCMake: store icon names
Campbell Barton [Wed, 24 Jan 2018 00:29:29 +0000 (11:29 +1100)]
CMake: store icon names

Without this, adding/removing icons wouldn't force cmake to re-run
making builds fail.

This is the same issue with globbing source code.

3 years agoFix object mode/edit mode panels not visible in collections
Dalai Felinto [Tue, 23 Jan 2018 18:05:25 +0000 (16:05 -0200)]
Fix object mode/edit mode panels not visible in collections

This was broken since e8c15e0ed15f83. When object_mode moved from
workspace to window.

3 years agoGreasepencil icons
Dalai Felinto [Tue, 23 Jan 2018 13:55:32 +0000 (11:55 -0200)]
Greasepencil icons

Note this comes from the greasepencil-object branch, and are merged to help
preventing future merge conflicts.

Also, I renamed the icons for consistency sake. So when this is merged in 2.8
other areas of the code will need to change.

Icons by Matias Mendiola

3 years agoRevert "Grease-Pencil: Icons"
Dalai Felinto [Tue, 23 Jan 2018 12:41:25 +0000 (10:41 -0200)]
Revert "Grease-Pencil: Icons"

This reverts commits:

f0ef3603862 Grease-Pencil: Icons from the grease pencil branch
13bf4b3804b Grease-Pencil: Fixup for icons
fb8c382fa17 Grease Pencil dat files fix

3 years agoCleanup: some ED_view3d functions used uppercase D
Campbell Barton [Tue, 23 Jan 2018 09:22:26 +0000 (20:22 +1100)]
Cleanup: some ED_view3d functions used uppercase D

3 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 23 Jan 2018 12:11:02 +0000 (13:11 +0100)]
Merge branch 'master' into blender2.8

3 years agoFix Cycles assert when resizing rendererd viewport.
Brecht Van Lommel [Tue, 23 Jan 2018 12:01:02 +0000 (13:01 +0100)]
Fix Cycles assert when resizing rendererd viewport.

3 years agoCycles: change material output displacement to vector.
Brecht Van Lommel [Sat, 20 Jan 2018 01:01:07 +0000 (02:01 +0100)]
Cycles: change material output displacement to vector.

Previously only scalar displacement along the normal was supported,
now displacement can go in any direction. For backwards compatibility,
a Displacement node will be automatically inserted in existing files.

This will make it possible to support vector displacement maps in the
future. It's already possible to use them to some extent, but requires
a manual shader node setup. For tangent space maps the right tangent
may also not be available yet, depends on the map.

Differential Revision:

3 years agoCycles: add Displacement node.
Brecht Van Lommel [Sat, 13 Jan 2018 12:11:03 +0000 (13:11 +0100)]
Cycles: add Displacement node.

This converts object space height to world space displacement, to be
linked to the new vector displacement material output.

Differential Revision:

3 years agoFix T53854: branched path tracing correlation bug with transparency in split kernel.
Brecht Van Lommel [Tue, 23 Jan 2018 09:44:20 +0000 (10:44 +0100)]
Fix T53854: branched path tracing correlation bug with transparency in split kernel.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 23 Jan 2018 09:04:54 +0000 (20:04 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: use doxygen groups for view3d_edit.c
Campbell Barton [Tue, 23 Jan 2018 08:48:49 +0000 (19:48 +1100)]
Cleanup: use doxygen groups for view3d_edit.c

3 years agoCleanup: code comment for view3d_viewmatrix_set
Campbell Barton [Tue, 23 Jan 2018 06:36:51 +0000 (17:36 +1100)]
Cleanup: code comment for view3d_viewmatrix_set

3 years agoCleanup: CMake whitespace
Campbell Barton [Tue, 23 Jan 2018 06:25:09 +0000 (17:25 +1100)]
Cleanup: CMake whitespace

3 years agoManipulator: limit UI for locked views
Campbell Barton [Tue, 23 Jan 2018 06:11:13 +0000 (17:11 +1100)]
Manipulator: limit UI for locked views

3 years agoCleanup: avoid passing bContext to cameracontrol
Campbell Barton [Tue, 23 Jan 2018 04:19:53 +0000 (15:19 +1100)]
Cleanup: avoid passing bContext to cameracontrol

3 years agoMerge branch 'master' into blender2.8
Germano [Tue, 23 Jan 2018 03:00:16 +0000 (01:00 -0200)]
Merge branch 'master' into blender2.8

# Conflicts:
# source/blender/editors/screen/screen_ops.c

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 23 Jan 2018 01:18:46 +0000 (12:18 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: sync w/ blender2.8 branch
Campbell Barton [Tue, 23 Jan 2018 01:13:48 +0000 (12:13 +1100)]
Cleanup: sync w/ blender2.8 branch

Also make some args const

3 years agoFix screen split refresh issues
Germano [Tue, 23 Jan 2018 01:06:38 +0000 (23:06 -0200)]
Fix screen split refresh issues

`Ctrl` (enable snapping) ans `TAB` (Switching direction) didn't refresh.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 23 Jan 2018 00:45:39 +0000 (11:45 +1100)]
Merge branch 'master' into blender2.8

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 23 Jan 2018 00:24:44 +0000 (11:24 +1100)]
Merge branch 'master' into blender2.8

3 years agoCycles: Fix optimal BVH selection.
Ray Molenkamp [Mon, 22 Jan 2018 21:52:09 +0000 (14:52 -0700)]
Cycles: Fix optimal BVH selection.

3 years agoGrease Pencil dat files fix
Dalai Felinto [Mon, 22 Jan 2018 17:33:20 +0000 (15:33 -0200)]
Grease Pencil dat files fix

The ones I previously commited were done with Inkspace 0.92.2
But apparently this renders some parts of the icons transparent.

For example, the tip of the new grease pencil pencil icon.

3 years agoGrease-Pencil: Fixup for icons
Dalai Felinto [Mon, 22 Jan 2018 17:12:12 +0000 (15:12 -0200)]
Grease-Pencil: Fixup for icons

I tried to cleanup the .svg but I overdid it a bit

3 years agoGrease-Pencil: Icons from the grease pencil branch
Dalai Felinto [Mon, 22 Jan 2018 16:35:27 +0000 (14:35 -0200)]
Grease-Pencil: Icons from the grease pencil branch

3 years agoCycles: Replace use_qbvh boolean flag with an enum-based property
Sergey Sharybin [Fri, 19 Jan 2018 09:59:58 +0000 (10:59 +0100)]
Cycles: Replace use_qbvh boolean flag with an enum-based property

This was we can introduce other types of BVH, for example, wider ones, without
causing too much mess around boolean flags.


- Ideally device info should probably return bitflag of what BVH types it

  It is possible to implement based on simple logic in device/ and mesh.cpp,
  rest of the changes will stay the same.

- Not happy with workarounds in util_debug and duplicated enum in kernel.
  Maybe enbum should be stores in kernel, but then it's kind of weird to include
  kernel types from utils. Soudns some cyclkic dependency.

Reviewers: brecht, maxim_d33

Reviewed By: brecht

Differential Revision:

3 years agoCollections/Layer cleanup: Remove placeholder for de/select objects
Dalai Felinto [Mon, 22 Jan 2018 14:41:29 +0000 (12:41 -0200)]
Collections/Layer cleanup: Remove placeholder for de/select objects

No need for placeholders bloating the source code. They can come back once
we decide to implement them.

3 years agoCollections/Layer cleanup: Remove all reference to filter objects
Dalai Felinto [Mon, 22 Jan 2018 14:33:57 +0000 (12:33 -0200)]
Collections/Layer cleanup: Remove all reference to filter objects

This was not implemented yet. So it's a bit pointless to have all this
placeholder code around without any functionality coming out of it.

3 years agoCollections/Layer cleanup: Remove TODO_LAYER_OVERRIDE from most places
Dalai Felinto [Mon, 22 Jan 2018 14:24:49 +0000 (12:24 -0200)]
Collections/Layer cleanup: Remove TODO_LAYER_OVERRIDE from most places

This was originally a good idea. However we will need to pay special attention
to this when doing the dynamic overrides anyways. The placeholders won't be
enough to spare us that job.

That said I left the ones on layer.c because we are actually calling these
BKE_override_*_add() functions from doversion, yet they don't do anything.

3 years agoT53831: Fixed vertical line alignment & expand Collection and Scene buttons position.
Philippe Schmid [Mon, 22 Jan 2018 14:04:28 +0000 (12:04 -0200)]
T53831: Fixed vertical line alignment & expand Collection and Scene buttons position.

This was fixed in master with commit 9d873fc3debe0. However, this fix never made it to 2.8.
(The following merge (a96008f3aae2) did not import the fixes.)

Note: This fix is ment to fix the alignment problem.
I don't know if other parts of the code not merged are interesting or not.

But if they are, they should be tackled separately.

Reviewers: dfelinto

Subscribers: venomgfx, dfelinto, raa, Severin

Differential Revision:

3 years agoFix windows building (log10)
Dalai Felinto [Mon, 22 Jan 2018 13:27:58 +0000 (11:27 -0200)]
Fix windows building (log10)

Error: math_base_inline.c(402): error C2668: 'log10' : ambiguous call to
overloaded function

3 years agoFix broken merge in fb45821, was missing changes from cc64872.
Brecht Van Lommel [Mon, 22 Jan 2018 13:28:43 +0000 (14:28 +0100)]
Fix broken merge in fb45821, was missing changes from cc64872.

3 years agoFix T53854: branched path tracing correlation bug with transparency.
Brecht Van Lommel [Mon, 22 Jan 2018 12:47:53 +0000 (13:47 +0100)]
Fix T53854: branched path tracing correlation bug with transparency.

This was broken in d750d18.

3 years agoCycles: Cleanup, remove unused argument
Sergey Sharybin [Mon, 22 Jan 2018 09:59:14 +0000 (10:59 +0100)]
Cycles: Cleanup, remove unused argument

3 years agoFix T53850: Lock to Cursor breaks 3D manipulators
Campbell Barton [Mon, 22 Jan 2018 09:11:34 +0000 (20:11 +1100)]
Fix T53850: Lock to Cursor breaks 3D manipulators

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 22 Jan 2018 03:14:33 +0000 (14:14 +1100)]
Merge branch 'master' into blender2.8

3 years agoWM: add mouse-move after smooth-view
Campbell Barton [Mon, 22 Jan 2018 03:06:32 +0000 (14:06 +1100)]
WM: add mouse-move after smooth-view

When hot-spots moved under the pointer,
clicking wouldn't activate the correct item.

3 years agoManipulator: draw all rules while dragging
Campbell Barton [Mon, 22 Jan 2018 02:52:45 +0000 (13:52 +1100)]
Manipulator: draw all rules while dragging

3 years agoCleanup: commends
Campbell Barton [Mon, 22 Jan 2018 00:32:03 +0000 (11:32 +1100)]
Cleanup: commends

Avoid copy-pasting same comments.

3 years agoCleanup: reuse camera frame arrays
Campbell Barton [Mon, 22 Jan 2018 00:26:32 +0000 (11:26 +1100)]
Cleanup: reuse camera frame arrays

Use GWN_vertbuf_raw_step in a loop for less verbose vbo creation.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 21 Jan 2018 23:42:42 +0000 (10:42 +1100)]
Merge branch 'master' into blender2.8

3 years agoFix linking error when compiling without clay engine
Ines Almeida [Sun, 21 Jan 2018 23:19:38 +0000 (00:19 +0100)]
Fix linking error when compiling without clay engine

3 years agoDRW: Object Mode: Fix bad camera display in camera view
Clément Foucault [Sun, 21 Jan 2018 23:14:28 +0000 (00:14 +0100)]
DRW: Object Mode: Fix bad camera display in camera view

This fix T53485 : Ortho cameras display frame when in camera view

3 years agoFix manual lookups (data is now lowercase)
Campbell Barton [Sun, 21 Jan 2018 22:50:41 +0000 (09:50 +1100)]
Fix manual lookups (data is now lowercase)

3 years agoFix T53843: Error opening online manual
Campbell Barton [Sun, 21 Jan 2018 22:45:51 +0000 (09:45 +1100)]
Fix T53843: Error opening online manual

3 years agoCleanup: unused var
Campbell Barton [Sun, 21 Jan 2018 23:00:23 +0000 (10:00 +1100)]
Cleanup: unused var

3 years agoEevee: Probes: Add support for intensity tweak.
Clément Foucault [Sun, 21 Jan 2018 22:15:57 +0000 (23:15 +0100)]
Eevee: Probes: Add support for intensity tweak.

This works for grid and cubemaps.

The intensity is baked into the map itself. Thus you need to refresh/rebake the probe to see the changes.

3 years agoEevee: Fix grid lighting disappearing when adding a new cubemap probe.
Clément Foucault [Sun, 21 Jan 2018 21:57:12 +0000 (22:57 +0100)]
Eevee: Fix grid lighting disappearing when adding a new cubemap probe.

3 years agoClay: Performance: Disable AO codepath if not necessary.
Clément Foucault [Sun, 21 Jan 2018 18:12:59 +0000 (19:12 +0100)]
Clay: Performance: Disable AO codepath if not necessary.

This optimisation only works if no material in the scene require the AO pass.
For this either set the AO distance to 0 or both Cavity and Edges factors to 0.

This double the performance of scenes with very high triangle count.

3 years agoDRW: Make the lamp widgets lines stippled.
Clément Foucault [Sun, 21 Jan 2018 17:32:40 +0000 (18:32 +0100)]
DRW: Make the lamp widgets lines stippled.

3 years agoDRW: Remove unused material uniforms.
Clément Foucault [Sun, 21 Jan 2018 17:17:59 +0000 (18:17 +0100)]
DRW: Remove unused material uniforms.

This might have some consequences but in my testing I did not found any.

3 years agoEevee: SSR: Optimize the AO out when not enabled.
Clément Foucault [Sun, 21 Jan 2018 16:31:47 +0000 (17:31 +0100)]
Eevee: SSR: Optimize the AO out when not enabled.

3 years agoEevee: Put all constant uniforms in a global UBO.
Clément Foucault [Sun, 21 Jan 2018 16:25:10 +0000 (17:25 +0100)]
Eevee: Put all constant uniforms in a global UBO.

This is an optimization / cleanup commit.

The use of a global ubo remove lots of uniform lookups and only transfert data when needed.

Lots of renaming for more consistent codestyle.

3 years agoMerge branch 'master' into blender2.8
Germano [Sun, 21 Jan 2018 20:45:47 +0000 (18:45 -0200)]
Merge branch 'master' into blender2.8

# Conflicts:
# intern/cycles/blender/blender_mesh.cpp
# source/blender/editors/screen/screen_ops.c
# source/blender/editors/space_view3d/drawobject.c

3 years agoUpdate description of the screen_draw functions
Germano [Sun, 21 Jan 2018 20:22:39 +0000 (18:22 -0200)]
Update description of the screen_draw functions

3 years agoWM: Fix snapping on split area without preview
Germano [Sun, 21 Jan 2018 20:18:12 +0000 (18:18 -0200)]
WM: Fix snapping on split area without preview

In addition to removing unnecessary variables and `tag_redraw` whenever the factor changes;

3 years agoFix T49159: missing Cycles tangents for adaptive subdivision.
Brecht Van Lommel [Sun, 21 Jan 2018 14:19:34 +0000 (15:19 +0100)]
Fix T49159: missing Cycles tangents for adaptive subdivision.

3 years agoCleanup: BLI_kdopbvh avoid negative array access
Campbell Barton [Sun, 21 Jan 2018 08:28:54 +0000 (19:28 +1100)]
Cleanup: BLI_kdopbvh avoid negative array access

It's harder to reason about array access with negative indices.

3 years agoCleanup: style
Campbell Barton [Sun, 21 Jan 2018 00:41:28 +0000 (11:41 +1100)]
Cleanup: style

3 years agoFix old files with changed node socket type not loading correctly.
Brecht Van Lommel [Sat, 20 Jan 2018 00:04:07 +0000 (01:04 +0100)]
Fix old files with changed node socket type not loading correctly.

This would lead to sock.default_value pointing to the wrong data type,
possibly causing crashes. Unfortunately, this bug will still exist for
older Blender versions that try to load newer files, which makes
changing the type of a node socket problematic.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 20 Jan 2018 14:47:49 +0000 (01:47 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: doxy groups for screen_ops.c
Campbell Barton [Sat, 20 Jan 2018 14:41:58 +0000 (01:41 +1100)]
Cleanup: doxy groups for screen_ops.c

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 20 Jan 2018 13:55:08 +0000 (00:55 +1100)]
Merge branch 'master' into blender2.8

3 years agoFix screen split preview refresh issues
Campbell Barton [Sat, 20 Jan 2018 13:39:06 +0000 (00:39 +1100)]
Fix screen split preview refresh issues

Switching direction didn't refresh, also cursors were flipped.

3 years agoManipulator: tweak shape drawing
Campbell Barton [Sat, 20 Jan 2018 08:41:41 +0000 (19:41 +1100)]
Manipulator: tweak shape drawing

Draw triangles over wire for a more subtle outline.

3 years agoGPU_batch: Add GPU_batch_wire_from_poly_2d_encoded
Campbell Barton [Sat, 20 Jan 2018 07:41:11 +0000 (18:41 +1100)]
GPU_batch: Add GPU_batch_wire_from_poly_2d_encoded

Draws wire around polygon shapes:
better visibility w/ any background color.

3 years agoFix collections names no longer unique when moved around
Dalai Felinto [Fri, 19 Jan 2018 20:44:11 +0000 (18:44 -0200)]
Fix collections names no longer unique when moved around

We were not checking for uniqueness after moving. And in some cases the new
siblings of our collection may have conflicting names.