3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 26 Jul 2018 04:49:52 +0000 (14:49 +1000)]
Merge branch 'master' into blender2.8

3 years agoWM: remove duplicate ui-list functions
Campbell Barton [Thu, 26 Jul 2018 04:46:33 +0000 (14:46 +1000)]
WM: remove duplicate ui-list functions

Missed when moving into own file.

Caused issues on MSVC, not GCC.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 26 Jul 2018 03:50:56 +0000 (13:50 +1000)]
Merge branch 'master' into blender2.8

3 years agoUI: hide proportional transform options
Campbell Barton [Thu, 26 Jul 2018 01:13:38 +0000 (11:13 +1000)]
UI: hide proportional transform options

Adds property poll function to transform.

3 years agoWM: Add operator property poll callback
Campbell Barton [Wed, 25 Jul 2018 23:59:56 +0000 (09:59 +1000)]
WM: Add operator property poll callback

This allows operators to filter out properties from the
auto-generated draw functions.

Some custom draw functions can move to using this.

3 years agoCleanup: Use const argument
Campbell Barton [Thu, 26 Jul 2018 01:07:56 +0000 (11:07 +1000)]
Cleanup: Use const argument

3 years agoUI: More opaque type icons in the Outliner
Pablo Vazquez [Thu, 26 Jul 2018 00:42:20 +0000 (02:42 +0200)]
UI: More opaque type icons in the Outliner

Also always draw the counter of elements-per-type with a dark background
regardless of the active status. It being white when active affects
readability since the icon background itself is already highlighted.

Thanks devtalk forum for feedback.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 25 Jul 2018 19:12:04 +0000 (21:12 +0200)]
Merge branch 'master' into blender2.8


3 years agoFix T55964: Direction not normalized in isect_ray_aabb_v3_simple()?
Bastien Montagne [Wed, 25 Jul 2018 19:05:44 +0000 (21:05 +0200)]
Fix T55964: Direction not normalized in isect_ray_aabb_v3_simple()?

RNA API Object.ray_cast would not normalize direction vector before
doing first quick bbox intersection test, while using its returned
distance value. This could lead to wrong exclusion of object.
Thanks to @codemanx for finding that issue.

3 years agoFix (unreported) potential div-by-zero in ray/bbox intersection BLI code.
Bastien Montagne [Wed, 25 Jul 2018 19:04:28 +0000 (21:04 +0200)]
Fix (unreported) potential div-by-zero in ray/bbox intersection BLI code.

Also added note that direction parameter should be normalized vector
in case one intend to use returned distance values.

3 years agoFix crash Cycles rendering with --debug-value 256.
Brecht Van Lommel [Wed, 25 Jul 2018 17:15:20 +0000 (19:15 +0200)]
Fix crash Cycles rendering with --debug-value 256.

3 years agoFix for holdout / indirect only with collection instances.
Brecht Van Lommel [Wed, 25 Jul 2018 16:30:26 +0000 (18:30 +0200)]
Fix for holdout / indirect only with collection instances.

3 years agoUI: Sort panels in mesh context
Pablo Vazquez [Wed, 25 Jul 2018 14:48:04 +0000 (16:48 +0200)]
UI: Sort panels in mesh context

Also collapse by default the less frequented Face Maps and Normals

3 years agoCycles: add per layer collection indirectly on setting.
Brecht Van Lommel [Wed, 25 Jul 2018 10:26:09 +0000 (12:26 +0200)]
Cycles: add per layer collection indirectly on setting.

In the outliner, right click > view layer > set indirect only. This is
like clearing camera ray visibility on objects in the collection, and is
temporary until we have more general dynamic overrides.

3 years agoUI: Single column and subpanels for Particles Physics Fluids and Boids
William Reynish [Wed, 25 Jul 2018 14:12:04 +0000 (16:12 +0200)]
UI: Single column and subpanels for Particles Physics Fluids and Boids

3 years agoCycles: add per layer collection mask/holdout support.
Brecht Van Lommel [Wed, 25 Jul 2018 10:26:09 +0000 (12:26 +0200)]
Cycles: add per layer collection mask/holdout support.

In the outliner, right click > view layer > set holdout. This is
temporary until we have more general dynamic overrides, but helps
Spring production for now.

3 years agoCleanup: mark missing Cycles view layer override features with TODO.
Brecht Van Lommel [Wed, 25 Jul 2018 10:35:27 +0000 (12:35 +0200)]
Cleanup: mark missing Cycles view layer override features with TODO.

3 years agoUI: Dynamic Paint single column and sub panels
William Reynish [Wed, 25 Jul 2018 13:57:30 +0000 (15:57 +0200)]
UI: Dynamic Paint single column and sub panels

3 years agoUI: Node Editor Properties single column
Pablo Vazquez [Wed, 25 Jul 2018 13:04:19 +0000 (15:04 +0200)]
UI: Node Editor Properties single column

Color and Properties panels as sub-panels of Node. Collapse Node properties
by default, since they are already in the node itself and in material properties.

3 years agoFix T55895: VSE crash while moving a strip
Bastien Montagne [Wed, 25 Jul 2018 12:52:29 +0000 (14:52 +0200)]
Fix T55895: VSE crash while moving a strip

Glitch from multi-edit project. ;)

3 years agoUI: Texture Properties Layout and Cleanup
Vuk Gardašević [Wed, 25 Jul 2018 12:01:01 +0000 (14:01 +0200)]
UI: Texture Properties Layout and Cleanup

Initial work on single column layout, flow and organization of
the texture properties. More work needs to be done in the C templates
for image textures.

See D3557

3 years agoUI: Minor tweaks to nodes
Pablo Vazquez [Wed, 25 Jul 2018 10:53:15 +0000 (12:53 +0200)]
UI: Minor tweaks to nodes

Match roundness with widget defaults and collapse triangle size with panel's.
Interaction is the same, just an aesthetic tweak.

3 years agoUI: Add "New" and "Open..." to the File Context Menu
Pablo Vazquez [Wed, 25 Jul 2018 09:56:37 +0000 (11:56 +0200)]
UI: Add "New" and "Open..." to the File Context Menu

Puts both operators at easy reach with the left hand since the
shortcuts for these are somewhat cumbersome (Ctrl+O/Ctrl+N)

3 years agoFix missing particle use count object names with disabled particles.
Brecht Van Lommel [Wed, 25 Jul 2018 09:39:32 +0000 (11:39 +0200)]
Fix missing particle use count object names with disabled particles.

3 years agoKeymap: Use 1..4 to change UV select modes
Campbell Barton [Wed, 25 Jul 2018 01:02:12 +0000 (11:02 +1000)]
Keymap: Use 1..4 to change UV select modes

Support for sync selection switching which keys apply.

3 years agoWM: keymap utility to set enum from a key range
Campbell Barton [Wed, 25 Jul 2018 01:00:03 +0000 (11:00 +1000)]
WM: keymap utility to set enum from a key range

3 years agoFix mistake in fix for T55798
Campbell Barton [Tue, 24 Jul 2018 23:23:07 +0000 (09:23 +1000)]
Fix mistake in fix for T55798

3 years agoCorrection on the last commit.
Germano [Tue, 24 Jul 2018 22:45:03 +0000 (19:45 -0300)]
Correction on the last commit.

3 years agoFix base->flag and base->flag_legacy: The flags of the Transform operator are being...
Germano [Tue, 24 Jul 2018 22:34:49 +0000 (19:34 -0300)]
Fix base->flag and base->flag_legacy: The flags of the Transform operator are being added to the bases of the not evaluated view_layer.

But I'm not sure if the flags `BA_WAS_SEL`,` BASE_SELECTED` and `BA_SNAP_FIX_DEPS_FIASCO`(lol XD) should be added to the bases of the not evaluated `view_layer`. This needs to be discussed.

3 years agoFix T55798: Crash when snapping objects with data recalculated by modifiers.
Germano [Tue, 24 Jul 2018 22:13:28 +0000 (19:13 -0300)]
Fix T55798: Crash when snapping objects with data recalculated by modifiers.

Although the default behavior is for these objects to be ignored during the snap operation, this should not crash.

3 years agoRNA: Remove Unused dof.is_hq_supported and dof.use_high_quality
Clément Foucault [Tue, 24 Jul 2018 15:59:46 +0000 (17:59 +0200)]
RNA: Remove Unused dof.is_hq_supported and dof.use_high_quality

It's not necessary anymore since we assume it's always high quality.

3 years agoFix T55754: DOF with new Camera is not working
Clément Foucault [Tue, 24 Jul 2018 15:57:24 +0000 (17:57 +0200)]
Fix T55754: DOF with new Camera is not working

Was due to non initialized gpu_dof.ratio

3 years agoFix presets not working after Python refactoring.
Brecht Van Lommel [Tue, 24 Jul 2018 15:29:53 +0000 (17:29 +0200)]
Fix presets not working after Python refactoring.

3 years agoWorkbench: Fix missing geometry on Iris 640/630 GPUs
Clément Foucault [Tue, 24 Jul 2018 14:50:31 +0000 (16:50 +0200)]
Workbench: Fix missing geometry on Iris 640/630 GPUs

For some reason 32c5972653041a3423122b5a5ae791ef536b87ed broke display of
solid meshes in workbench.

After some investigation, it seems that the vertex coordinate output is
degenerated even if the input is correct and the matrix too.

Removing dead code seems to fix the problem. So maybe the GLSL preprocessor
is not doing what it should?

3 years agoFix T56079: crash with startup.blend saved in sculpt/paint modes.
Brecht Van Lommel [Tue, 24 Jul 2018 10:43:21 +0000 (12:43 +0200)]
Fix T56079: crash with startup.blend saved in sculpt/paint modes.

This reverts commit 81a93df6d22c2f148667b9a6e8308e083a4cec39, it is not safe
to handle initialization for startup.blend differently. Instead fix the root
issue of the preview icon data structures not being initialized in time.

3 years agoFix T56081: crash with make static override and linked collection.
Brecht Van Lommel [Tue, 24 Jul 2018 10:02:24 +0000 (12:02 +0200)]
Fix T56081: crash with make static override and linked collection.

3 years agoFix T55721: crashes with collections panel in object properties.
Brecht Van Lommel [Tue, 24 Jul 2018 09:37:27 +0000 (11:37 +0200)]
Fix T55721: crashes with collections panel in object properties.

3 years agoFix T55245: undo with multiple windows and view layers not working correct.
Brecht Van Lommel [Tue, 24 Jul 2018 09:21:32 +0000 (11:21 +0200)]
Fix T55245: undo with multiple windows and view layers not working correct.

3 years agoFix incorrect active object setting in scripts.
Brecht Van Lommel [Tue, 24 Jul 2018 09:18:45 +0000 (11:18 +0200)]
Fix incorrect active object setting in scripts.

3 years agoFix incorrect object visibility test in baking.
Brecht Van Lommel [Tue, 24 Jul 2018 09:08:58 +0000 (11:08 +0200)]
Fix incorrect object visibility test in baking.

3 years agoMotion paths: default to bone head instead of tail location.
Brecht Van Lommel [Mon, 23 Jul 2018 14:38:25 +0000 (16:38 +0200)]
Motion paths: default to bone head instead of tail location.

This puts the motion path in the same location as the transform gizmo,
which is less confusing especially if you have a custom bone shape where
the tail is not visible.

3 years agoFix T55958: allow the user to select between spring and spring2.
Alexander Gavrilov [Sat, 14 Jul 2018 14:01:02 +0000 (17:01 +0300)]
Fix T55958: allow the user to select between spring and spring2.

The old springs with damping 1.0 operate in a special way that
is more similar to plastic deformation than a spring. Some users
rely on that, so let the user choose which implementation to use.
This also restores full backward compatibility with 2.79.

Reviewers: sergof

Differential Revision:

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 24 Jul 2018 05:35:01 +0000 (15:35 +1000)]
Merge branch 'master' into blender2.8

3 years agoCleanup: changes from 2.8
Campbell Barton [Tue, 24 Jul 2018 03:54:25 +0000 (13:54 +1000)]
Cleanup: changes from 2.8

3 years agoSubsurf: Fix wrong vertices index in vertex data interpolation
Sergey Sharybin [Mon, 23 Jul 2018 17:09:16 +0000 (19:09 +0200)]
Subsurf: Fix wrong vertices index in vertex data interpolation

3 years agoSubsurf: Subdivide polygons to the same resolution
Sergey Sharybin [Mon, 23 Jul 2018 16:40:04 +0000 (18:40 +0200)]
Subsurf: Subdivide polygons to the same resolution

Previously it was ptex faces which were subdividing to the same
resolution. This was looking like more details for non-quad faces,
but was also causing discontinuity in the edge where quad touches
non-quad polygon.

Now ptex faces which are coming from non-quad faces are subdivided
at a half of resolution, matching old behavior and solving
discontinuity problem.

3 years agoFix compilation issue after merge.
Clément Foucault [Mon, 23 Jul 2018 16:56:24 +0000 (18:56 +0200)]
Fix compilation issue after merge.

3 years agoUI: Fix flicker in File Browser header
Pablo Vazquez [Mon, 23 Jul 2018 16:41:12 +0000 (18:41 +0200)]
UI: Fix flicker in File Browser header

Move running jobs to the beginning of the row.

Thanks @sergey for reporting

3 years agoFix missing header include in previous master merge.
Bastien Montagne [Mon, 23 Jul 2018 16:37:29 +0000 (18:37 +0200)]
Fix missing header include in previous master merge.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Mon, 23 Jul 2018 15:52:52 +0000 (17:52 +0200)]
Merge branch 'master' into blender2.8

Note: Moved doversion of VSE strips uniquename to 2.8 versionning area,
and raised accordingly current file subversion, since that bug also
affected previous 2.8 .blend files...


3 years agoFix assert when loading file with multiple windows opened
Clément Foucault [Mon, 23 Jul 2018 15:44:16 +0000 (17:44 +0200)]
Fix assert when loading file with multiple windows opened

... or when loading a file when having more windows opened than the file

3 years agoEevee: Remove Colored volumetric option.
Clément Foucault [Mon, 23 Jul 2018 15:40:34 +0000 (17:40 +0200)]
Eevee: Remove Colored volumetric option.

This option is not necessary as it uses as much memory as the mono-chromatic

3 years agoFix T55668: Volume Keyframe on Cut-ted Metastrip.
Bastien Montagne [Mon, 23 Jul 2018 15:38:41 +0000 (17:38 +0200)]
Fix T55668: Volume Keyframe on Cut-ted Metastrip.

We actually still had cases of Meta strip duplication resulting in
non-unique strip names. Quiet surprising this went unoticed for so long. :(

Fixed that bug, and think it was last one (at least, no other case of
SEQ_DUPE_UNIQUE_NAME usage should be broken, I think...), and raised
subversion and updated doversion to run uniquename check on strips on
all previous fileversions.

Note: will have to do that again when merging in 2.8...

3 years agoFix large font drawing blurriness in a better way.
Brecht Van Lommel [Mon, 23 Jul 2018 14:10:46 +0000 (16:10 +0200)]
Fix large font drawing blurriness in a better way.

GPU_LINEAR is there for shadow font blurring, the real issue was lack of
rounding for the batch offset.

3 years agotransform_snap_object: Better bvhtree creation management for editing multiple objects.
Germano [Mon, 23 Jul 2018 14:04:58 +0000 (11:04 -0300)]
transform_snap_object: Better bvhtree creation management for editing multiple objects.

- Use the object referenced in `BMEditMesh` as the `ghash` key to save the bvhtrees in cache;
- Create a boundbox around edit_mesh to test the snap before creating bvhtree;
- Save the `edit_mesh`s bvhtree in the mesh bvh_cache;

This is a part of the D3504.

3 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Mon, 23 Jul 2018 12:23:21 +0000 (14:23 +0200)]
Merge branch 'master' into blender2.8

3 years agoFix build for Intel compiler with C++11.
Milan Jaros [Mon, 23 Jul 2018 12:20:06 +0000 (14:20 +0200)]
Fix build for Intel compiler with C++11.

3 years agoUI: more descriptive tooltip
Ines Almeida [Mon, 23 Jul 2018 11:15:20 +0000 (13:15 +0200)]
UI: more descriptive tooltip

3 years agoFix T55634: Particle Viewport Display affects render visibilty
Sergey Sharybin [Mon, 23 Jul 2018 10:53:46 +0000 (12:53 +0200)]
Fix T55634: Particle Viewport Display affects render visibilty

Changed code to follow master behavior closer: ignore draw-as checks
when particles are evaluating for rendering.

3 years agoFix wrong view layer rendered from command line
Sergey Sharybin [Mon, 23 Jul 2018 09:47:06 +0000 (11:47 +0200)]
Fix wrong view layer rendered from command line

The issue was caused by Render Single Layer option enabled, which is
very handy for artists work, so they can hit F12 and see view layer
they are currently working in a final rendered state. This saves a lot
of time since all the "non-interesting" objects are ignored for such

However, for the render farm we need to render view layers which are
explicitly set for render, and ignore active view layer.

Reasonable solution seems to be to ignore the Render Single Layer
option when rendering from the command line. It is really something
more like UI behavior option.

3 years agoMark view layer renderability and scene single layer render as non-animatable
Sergey Sharybin [Mon, 23 Jul 2018 09:42:44 +0000 (11:42 +0200)]
Mark view layer renderability and scene single layer render as non-animatable

We can not support animation of those flags reliably in the pipeline, so just
mark them as non-animatable.

3 years agoCleanup: comments and UI descriptions for cursor snapping
Ines Almeida [Sun, 27 May 2018 08:33:34 +0000 (10:33 +0200)]
Cleanup: comments and UI descriptions for cursor snapping

3 years agoOutliner Keymap: E key to Exclude collections from View Layer
Pablo Vazquez [Mon, 23 Jul 2018 09:20:31 +0000 (11:20 +0200)]
Outliner Keymap: E key to Exclude collections from View Layer

Alt+E to include.

3 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Ray Molenkamp [Sun, 22 Jul 2018 22:03:46 +0000 (16:03 -0600)]
Merge remote-tracking branch 'origin/master' into blender2.8

3 years agomake.bat : fix typo
Ray Molenkamp [Sun, 22 Jul 2018 22:02:28 +0000 (16:02 -0600)]
make.bat : fix typo

pointed out by anchpop on irc.

3 years agoEevee: Principled: Fix Subsurface input behaviour
Clément Foucault [Sat, 21 Jul 2018 16:15:31 +0000 (18:15 +0200)]
Eevee: Principled: Fix Subsurface input behaviour

Match Cycles behaviour of scalling the SSS radius and don't interpolate
between diffuse and SSS result.

3 years agoRender Preview: Fix ID freeing in wrong function
Clément Foucault [Sat, 21 Jul 2018 12:16:29 +0000 (14:16 +0200)]
Render Preview: Fix ID freeing in wrong function

3 years agoEevee: Fix wrong SSR reprojection when switching orthographic view
Clément Foucault [Fri, 20 Jul 2018 20:43:30 +0000 (22:43 +0200)]
Eevee: Fix wrong SSR reprojection when switching orthographic view

We just reset the temporal sampling and avoid using the previous frame
for SSR at all.

3 years agoEevee: LightProbes: Fix RNA defaults and remove unused data_draw_size
Clément Foucault [Fri, 20 Jul 2018 20:22:30 +0000 (22:22 +0200)]
Eevee: LightProbes: Fix RNA defaults and remove unused data_draw_size

3 years agoEevee: Lamps: Fix RNA defaults and change defaults for contact shadows
Clément Foucault [Fri, 20 Jul 2018 19:54:48 +0000 (21:54 +0200)]
Eevee: Lamps: Fix RNA defaults and change defaults for contact shadows

3 years agoRender Preview: Fix memory leak
Clément Foucault [Fri, 20 Jul 2018 19:31:36 +0000 (21:31 +0200)]
Render Preview: Fix memory leak

3 years agoRender Preview: Fix problem with multi size icon preview
Clément Foucault [Fri, 20 Jul 2018 18:36:14 +0000 (20:36 +0200)]
Render Preview: Fix problem with multi size icon preview

The id was free after each size.
We now only free after the job has finished.

3 years agoGPUMaterial: Cleanup unused headers
Clément Foucault [Fri, 20 Jul 2018 18:06:39 +0000 (20:06 +0200)]
GPUMaterial: Cleanup unused headers

3 years agoGPUMaterial: Texture Node: Add support for Cubic filtering
Clément Foucault [Fri, 20 Jul 2018 17:16:33 +0000 (19:16 +0200)]
GPUMaterial: Texture Node: Add support for Cubic filtering

Like in cycles it's a bit more slower than linear but it's smoother.

Works for all projection type.

3 years agoGPUMaterial: Texture Node: support for nearest (closest) filtering method
Clément Foucault [Fri, 20 Jul 2018 13:45:59 +0000 (15:45 +0200)]
GPUMaterial: Texture Node: support for nearest (closest) filtering method

Add placeholder for cubic and smart filtering for now.

3 years agoGPUMaterial: Optimize and fix blending in box mapping
Clément Foucault [Fri, 20 Jul 2018 13:25:20 +0000 (15:25 +0200)]
GPUMaterial: Optimize and fix blending in box mapping

Blending was done in srgb space and was not matching cycles.

Optimized by using less branches and more vector operations.

3 years agoFix T54455, T56053, T55564: Cycles OpenCL build error after recent changes.
Brecht Van Lommel [Fri, 20 Jul 2018 17:07:35 +0000 (19:07 +0200)]
Fix T54455, T56053, T55564: Cycles OpenCL build error after recent changes.

3 years agoFix incorrect magnification filter for text texture.
Brecht Van Lommel [Fri, 20 Jul 2018 15:38:24 +0000 (17:38 +0200)]
Fix incorrect magnification filter for text texture.

Barely any visible difference, except when drawing big custom text
with the Python API.

3 years agoFix WITH_HEADLESS build.
Brecht Van Lommel [Fri, 20 Jul 2018 13:12:36 +0000 (15:12 +0200)]

3 years agoDepsgraph: Fix missing relation from proxy_form's ID properties
Sergey Sharybin [Fri, 20 Jul 2018 13:13:48 +0000 (15:13 +0200)]
Depsgraph: Fix missing relation from proxy_form's ID properties

Hopefully this will fix issue with camera rig where camera properties
(like, near/far clip) are driven by custom properties from bones, and
those bones are actually belong to proxied armature.

3 years agoFix build error with release + debug info build.
Brecht Van Lommel [Fri, 20 Jul 2018 11:35:08 +0000 (13:35 +0200)]
Fix build error with release + debug info build.

3 years agoFix assert for Image & Brush icon preview
Clément Foucault [Fri, 20 Jul 2018 10:54:57 +0000 (12:54 +0200)]
Fix assert for Image & Brush icon preview

3 years agoWorkbench: Add backface culling support
Clément Foucault [Fri, 20 Jul 2018 10:40:35 +0000 (12:40 +0200)]
Workbench: Add backface culling support

3 years agoBasic Draw Engine: Cleanup unused code.
Clément Foucault [Fri, 20 Jul 2018 10:30:23 +0000 (12:30 +0200)]
Basic Draw Engine: Cleanup unused code.

This engine is only used for selection and draw depth so no need for
anything else.

Also add backface culling support to selection.

3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 20 Jul 2018 10:13:58 +0000 (12:13 +0200)]
Merge branch 'master' into blender2.8

3 years agoCleanup: Move 'WAVEFORM_LOADING' of sounds from flags to tags.
Bastien Montagne [Fri, 20 Jul 2018 10:11:34 +0000 (12:11 +0200)]
Cleanup: Move 'WAVEFORM_LOADING' of sounds from flags to tags.

This is purely runtime data, so move it to new tags. ;)

3 years agoFix T55414: waveforms are reprocessed when undoing
Bastien Montagne [Fri, 20 Jul 2018 10:01:38 +0000 (12:01 +0200)]
Fix T55414: waveforms are reprocessed when undoing

Add new tag to bSound (runtime flags), and make read code to set a 'no
reload waveform' new tag, since it uses a mapping to get existing
waveform in undo case...

3 years agoMake `draw_armature()` abort in case pose is not up-to-date.
Bastien Montagne [Thu, 19 Jul 2018 14:52:49 +0000 (16:52 +0200)]
Make `draw_armature()` abort in case pose is not up-to-date.

Previously it was calling `BKE_pose_rebuild()`, such thing shall never
be called from drawing code! Hopefully this now works as expected and
that horrible hack is not needed anymore.

3 years agoFix T55973: [2.8] Crash when 'apply pose as rest pose' when bone scale is 0,0,0.
Bastien Montagne [Thu, 19 Jul 2018 14:48:21 +0000 (16:48 +0200)]
Fix T55973: [2.8] Crash when 'apply pose as rest pose' when bone scale is 0,0,0.

`BKE_pose_rebuild()` should (ideally) always trigger a rebuild of the
depsgraph, since it can add or remove posechannels.

This function now takes a Main parameter to ensure that related
depsgraphes are tagged as dirty (kept it optional, for some corner cases).

We should also probably double-check calls to that function, think in
theory it should only be called from depsgraph itself? But for now...

3 years agoSubsurf: Add basic statistics to help benchmarking
Sergey Sharybin [Thu, 19 Jul 2018 14:27:18 +0000 (16:27 +0200)]
Subsurf: Add basic statistics to help benchmarking

3 years agoFix MSVC compilation error in a less hacky way
Clément Foucault [Thu, 19 Jul 2018 15:20:48 +0000 (17:20 +0200)]
Fix MSVC compilation error in a less hacky way

3 years agoFix compilation error with MSVC
Clément Foucault [Thu, 19 Jul 2018 15:18:08 +0000 (17:18 +0200)]
Fix compilation error with MSVC

3 years agoResolve the opposite vector ambiguity in Damped Track constraint.
Alexander Gavrilov [Sat, 7 Jul 2018 20:21:20 +0000 (23:21 +0300)]
Resolve the opposite vector ambiguity in Damped Track constraint.

Damped Track by specification attempts to arrive at the desired
direction via the shortest rotation. However with opposite vectors
there are infinitely many valid 180 degree rotations. Currently
it gives up and does nothing.

I think that it would be more reasonable to resolve the ambiguity
arbitrarily, so that Damped Track won't have a weird dead zone.
To make it more predictable I use a local axis.

In addition, the singularity area vicinity has some floating
point precision problems that result in significant jitter.
This applies workarounds for two causes of instability.

Differential Revision:

3 years agoFix crash with previews of non-IDs, like pose library thumbnails.
Brecht Van Lommel [Thu, 19 Jul 2018 14:27:44 +0000 (16:27 +0200)]
Fix crash with previews of non-IDs, like pose library thumbnails.

3 years agoGPU: Add GC to FBOs and UBOs and centralize all GCs
Clément Foucault [Thu, 19 Jul 2018 13:48:13 +0000 (15:48 +0200)]
GPU: Add GC to FBOs and UBOs and centralize all GCs

GPUFrameBuffers were being free when no context was attached or in the
wrong gl context. This make sure this does not happen again.

You can now safely free any gl resource from any thread (well as long as
it's not used anymore!).

3 years agoSubsurf: Fix wrong edge original index
Sergey Sharybin [Wed, 18 Jul 2018 15:49:12 +0000 (17:49 +0200)]
Subsurf: Fix wrong edge original index

3 years agoSubsurf: Set original index for high-poly vertices
Sergey Sharybin [Wed, 18 Jul 2018 15:34:44 +0000 (17:34 +0200)]
Subsurf: Set original index for high-poly vertices

3 years agoCleanup: style
Campbell Barton [Thu, 19 Jul 2018 06:06:37 +0000 (16:06 +1000)]
Cleanup: style

3 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Ray Molenkamp [Thu, 19 Jul 2018 02:02:16 +0000 (20:02 -0600)]
Merge remote-tracking branch 'origin/master' into blender2.8

3 years agomake.bat : restore msvc2015 support.
Ray Molenkamp [Thu, 19 Jul 2018 02:00:34 +0000 (20:00 -0600)]
make.bat : restore msvc2015 support.

broke when i removed the 2013 support.