2 years agoFix assert calculating tangents with no faces
Campbell Barton [Wed, 28 Jun 2017 10:59:49 +0000 (20:59 +1000)]
Fix assert calculating tangents with no faces

2 years agoGPUTexture : Un-clamp float rect datas.
Clément Foucault [Wed, 28 Jun 2017 20:24:19 +0000 (22:24 +0200)]
GPUTexture : Un-clamp float rect datas.

We do not need it anymore because we do not use glu anymore. And we need full range for HDRI Lighting.

2 years agoGPU_codegen: Fix geometry shader.
Clément Foucault [Wed, 28 Jun 2017 19:28:24 +0000 (21:28 +0200)]
GPU_codegen: Fix geometry shader.

2 years agoGPU_codegen: Add support for passing attributes through the geometry stage.
Clément Foucault [Wed, 28 Jun 2017 19:05:43 +0000 (21:05 +0200)]
GPU_codegen: Add support for passing attributes through the geometry stage.

Should fix some issues with missing attributes in Eevee.

2 years agoEevee: Fix shader linking error.
Clément Foucault [Wed, 28 Jun 2017 16:28:52 +0000 (18:28 +0200)]
Eevee: Fix shader linking error.

2 years agoEevee: Fix Shadow Map bug: fix T51924
Clément Foucault [Wed, 28 Jun 2017 15:21:57 +0000 (17:21 +0200)]
Eevee: Fix Shadow Map bug: fix T51924

2 years agoEevee: Fix Shader compilation on certain driver.
Clément Foucault [Wed, 28 Jun 2017 14:51:31 +0000 (16:51 +0200)]
Eevee: Fix Shader compilation on certain driver.

2 years agoProbe: Irradiance Volume: Fix default clip start.
Clément Foucault [Wed, 28 Jun 2017 14:31:53 +0000 (16:31 +0200)]
Probe: Irradiance Volume: Fix default clip start.

2 years agoEevee: Refactor of shading code to be more modular.
Clément Foucault [Wed, 28 Jun 2017 14:31:25 +0000 (16:31 +0200)]
Eevee: Refactor of shading code to be more modular.

This will enable creating shading models more easily.

2 years agoFix T51920: Invalidate draw cache when changing object origin
Luca Rood [Wed, 28 Jun 2017 12:58:25 +0000 (14:58 +0200)]
Fix T51920: Invalidate draw cache when changing object origin

2 years agoDwM: mesh data now only creates data thats used
Campbell Barton [Wed, 28 Jun 2017 03:38:24 +0000 (13:38 +1000)]
DwM: mesh data now only creates data thats used

Read from the GPUMaterial to find custom-data layers used for drawing.

This resolves problem where having UV's would always calculate tangents
causing noticeable slow down compared to 2.7x.

2 years agoDwM: create eevee materials before the mesh
Campbell Barton [Wed, 28 Jun 2017 03:33:55 +0000 (13:33 +1000)]
DwM: create eevee materials before the mesh

To know which custom-data layers will be needed in the mesh.

No functional change yet.

2 years agoDWM: Fix own error checking wrong layer type
Campbell Barton [Wed, 28 Jun 2017 01:39:05 +0000 (11:39 +1000)]
DWM: Fix own error checking wrong layer type

Would calculate all tangents for every UV layer.

2 years agoGPU: split GPU_material_from_nodetree in two
Campbell Barton [Wed, 28 Jun 2017 00:50:33 +0000 (10:50 +1000)]
GPU: split GPU_material_from_nodetree in two

Add GPU_material_from_nodetree_find to avoid having to construct other
arguments which won't be used in the case the material is exists.

2 years agoFix own error removing texface
Campbell Barton [Wed, 28 Jun 2017 00:23:27 +0000 (10:23 +1000)]
Fix own error removing texface

Setting the name crashed with NULL poly layer.

2 years agoFix own error removing texface
Campbell Barton [Wed, 28 Jun 2017 00:11:49 +0000 (10:11 +1000)]
Fix own error removing texface

Using pointer offsets from different arrays

2 years agoDWM: separate tangents from UV conversion
Campbell Barton [Tue, 27 Jun 2017 23:55:40 +0000 (09:55 +1000)]
DWM: separate tangents from UV conversion

Prepare for different number of UV/Tangent layers.

2 years agoGPU: GPU_generate_pass_new now takes vertex-attrs
Campbell Barton [Tue, 27 Jun 2017 23:37:44 +0000 (09:37 +1000)]
GPU: GPU_generate_pass_new now takes vertex-attrs

Needed so we can tell which custom-data layers to use from the mesh.

2 years agoFix missing globalsBlock in edit mode latice drawing
Luca Rood [Tue, 27 Jun 2017 16:39:45 +0000 (18:39 +0200)]
Fix missing globalsBlock in edit mode latice drawing

This was causing lattice vertices not to be drawn.

2 years agoImplement weight colors for lattices in draw manager
Luca Rood [Tue, 27 Jun 2017 13:59:13 +0000 (15:59 +0200)]
Implement weight colors for lattices in draw manager

2 years agoLightProbes: Change 3d view display shape.
Clément Foucault [Tue, 27 Jun 2017 12:59:53 +0000 (14:59 +0200)]
LightProbes: Change 3d view display shape.

Introduce specific shape for each probe type to easily identify them.

2 years agoFix typo in Eevee hair UV handling
Luca Rood [Tue, 27 Jun 2017 09:58:59 +0000 (11:58 +0200)]
Fix typo in Eevee hair UV handling

2 years agomikktspace: minor optimization
Campbell Barton [Tue, 27 Jun 2017 05:34:12 +0000 (15:34 +1000)]
mikktspace: minor optimization

Add a safe version of normalize since all uses of normalize
did zero length checks, move this into a function.

Also avoid unnecessary conversion.

Gives minor speedup here (approx 3-5%).

2 years agoEevee: Bloom: fix black bloom artifacts.
Clément Foucault [Tue, 27 Jun 2017 03:17:42 +0000 (05:17 +0200)]
Eevee: Bloom: fix black bloom artifacts.

2 years agoRNA: update_gpu_tag() to force Batch re-generation
Campbell Barton [Tue, 27 Jun 2017 01:09:30 +0000 (11:09 +1000)]
RNA: update_gpu_tag() to force Batch re-generation

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 26 Jun 2017 23:57:40 +0000 (09:57 +1000)]
Merge branch 'master' into blender2.8

2 years agoCMake: Only set CMAKE_BUILD_TYPE_INIT when not set
Campbell Barton [Mon, 26 Jun 2017 23:50:35 +0000 (09:50 +1000)]
CMake: Only set CMAKE_BUILD_TYPE_INIT when not set

Convenience makefile now uses CMAKE_BUILD_TYPE_INIT,
this means you can change the build type of an existing build
and it won't be overwritten when running `make`.

Useful if you want to add debug info to a release build for profiling.

2 years agoCleanup: quiet warning
Campbell Barton [Mon, 26 Jun 2017 21:37:27 +0000 (07:37 +1000)]
Cleanup: quiet warning

Passing NULL arg when nonnull attr is used.

2 years agoScene object iterator: minor optimization
Campbell Barton [Mon, 26 Jun 2017 21:27:33 +0000 (07:27 +1000)]
Scene object iterator: minor optimization

Avoid an extra hash when adding to gset

2 years agoEevee: Add Planar reflection blurring.
Clément Foucault [Mon, 26 Jun 2017 18:37:41 +0000 (20:37 +0200)]
Eevee: Add Planar reflection blurring.

This method is very cheap and inaccurate. This will fill the gap untill better model is supported.

2 years agoAdd new DRW_draw_pass_subset function
Antonio Vazquez [Mon, 26 Jun 2017 18:42:58 +0000 (20:42 +0200)]
Add new DRW_draw_pass_subset function

This function allows to draw only a selected range of shading groups.

This is required for some special situations as grease pencil strokes.

2 years agoAdd warning that 'purge all' action in Outliner does save to current .blend file.
Bastien Montagne [Mon, 26 Jun 2017 17:00:45 +0000 (19:00 +0200)]
Add warning that 'purge all' action in Outliner does save to current .blend file.

This is a very important, potentially deadly side-effect of this
operator. If something goes wrong, it can save a broken .blend file.

Ideally we could get rid of that operation anyway, once ID management if
fully renewed, but for now would rather keep it around.

Related to T51902.

2 years agoFix T51902: Severe problem with relocating linked libraries when using proxies.
Bastien Montagne [Mon, 26 Jun 2017 16:55:30 +0000 (18:55 +0200)]
Fix T51902: Severe problem with relocating linked libraries when using proxies.

Fix is a bit ugly, but cannot think of another solution for now, at
least this **should** not break anything else.

And now I go find myself a very remote, high and lonely mountain, climb
to its top, roar "I hate proxies!" a few times, and relax hearing the echos...

2 years agoFix viewport rendering with anti-aliasing - workaround
Dalai Felinto [Mon, 26 Jun 2017 16:30:21 +0000 (18:30 +0200)]
Fix viewport rendering with anti-aliasing - workaround

This commit makes the fullsample option for viewport renderings always
on: Render > OpenGL Render Options > Full Sample.

(The UI still allows users to set this, so we will need to revisit this
before 2.8 releases).

Even in computers that can handle MSAA we had issues.
The way Blender gpu_* implementation is handling anti-aliasing is buggy.
For example, in Blender 2.7x if you have depth of field in a viewport
with multi-sampling, the DoF gives us jagged edges.

Since Eevee uses framebuffers for a lot of things, this issue was
leading to very visible buggy render in some computers, and more subtle
inconsistent buggy renders in others (easy to test with the depth of
field in Eevee).

2 years agoRemove disabled code for freeing shaders on scene update
Luca Rood [Mon, 26 Jun 2017 16:16:05 +0000 (18:16 +0200)]
Remove disabled code for freeing shaders on scene update

Some code for freeing shaders on scene updates (because of previous
dependency shaders had on lamps) had been disabled, as it is no longer
required. This removes that code altogether.

2 years agoStop object shaders from being updated when changing lamp properties
Luca Rood [Mon, 26 Jun 2017 15:53:47 +0000 (17:53 +0200)]
Stop object shaders from being updated when changing lamp properties

Object shaders no longer depend on lamp data at compile time, thus they
don't need to be invalidated when lamps change. Disabling shader
recompilation allows fast viewport updates when changing lamp settings.

Note that even though shaders for lamps are currently not being used,
`lamp_changed` is still freeing the lamp shaders, as at some point we
might want to use shaders for lamps...

2 years agoEnable optional jack in
Bastien Montagne [Mon, 26 Jun 2017 14:12:32 +0000 (16:12 +0200)]
Enable optional jack in

Based on D2578, now you can install JACK audio server and use it in
Blender build without having to specify the `--with-all` option (that
one still enables also JACK of course).

Reviewers: mont29

Maniphest Tasks: T51033

Differential Revision:

2 years agoFix T51559: Update draw cache when changing flat/smooth shading
Luca Rood [Mon, 26 Jun 2017 12:52:59 +0000 (14:52 +0200)]
Fix T51559: Update draw cache when changing flat/smooth shading

This also renames some flags/variables to be more generic for updating
purposes. The call used here was previously only used for updating
paint data, but as it was reused here, flags and variables were renamed
to accomodate more clearly to the new usages.

2 years agoNew scenes should use Eevee, not Blender Render
Dalai Felinto [Mon, 26 Jun 2017 10:47:17 +0000 (12:47 +0200)]
New scenes should use Eevee, not Blender Render

2 years agoEnable shadow catching for Eevee hair
Luca Rood [Mon, 26 Jun 2017 10:30:30 +0000 (12:30 +0200)]
Enable shadow catching for Eevee hair

Shadow catching was disabled for hair in Eevee, because of an issue in
the shadow maps. The issue has since been resolved, so this re-enables
shadow catching for hair.

2 years agoHair UV implementation for Eevee
Luca Rood [Thu, 22 Jun 2017 17:19:55 +0000 (19:19 +0200)]
Hair UV implementation for Eevee

This implements UV support for Eevee hair, enabling the usage of

2 years agoFix shaders not working in Eevee
Dalai Felinto [Mon, 26 Jun 2017 10:14:19 +0000 (12:14 +0200)]
Fix shaders not working in Eevee

Not a single node based shader was working since a recent merge from

The merge brought changes from the principle bsdf shader where
unsupported gl_ProjectionMatrix was still being used.

2 years agoUsed Py3.6 feature by accident, check version
Campbell Barton [Mon, 26 Jun 2017 09:57:48 +0000 (19:57 +1000)]
Used Py3.6 feature by accident, check version

2 years agoManipulator: Python API
Campbell Barton [Mon, 26 Jun 2017 05:57:14 +0000 (15:57 +1000)]
Manipulator: Python API

Initial support for Python/Manipulator integration
from 'custom-manipulators' branch.


- Registering custom manipulators & manipulator-groups.
- Modifying RNA properties, custom values via get/set callbacks,
  or invoking an operator.
- Drawing shape presets for Python defined manipulators (arrow, circle, face-maps)


- Only float properties supported.
- Drawing only supported via shape presets.
  (we'll likely want a way to define custom geometry or draw directly).
- When to refresh, recalculate manipulators will likely need
  integration with notifier system.

Development will be continued in the 2.8 branch

2 years agoCorrect copy-paste error manipulator
Campbell Barton [Mon, 26 Jun 2017 05:46:27 +0000 (15:46 +1000)]
Correct copy-paste error manipulator

2 years agoRename wmManipulatorPropertyType.type -> data_type
Campbell Barton [Mon, 26 Jun 2017 04:36:37 +0000 (14:36 +1000)]
Rename wmManipulatorPropertyType.type -> data_type

2 years agoManipulator: use 'void *' for callback data args
Campbell Barton [Mon, 26 Jun 2017 04:31:26 +0000 (14:31 +1000)]
Manipulator: use 'void *' for callback data args

Non-float properties should be editable too.

2 years agoBuilding without Python works again
Campbell Barton [Mon, 26 Jun 2017 03:50:11 +0000 (13:50 +1000)]
Building without Python works again

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 26 Jun 2017 03:43:56 +0000 (13:43 +1000)]
Merge branch 'master' into blender2.8

2 years agoCollada: improved Error handling: Avoid shutdown of Blender when the Collada importer...
Gaia Clary [Sat, 24 Jun 2017 19:50:04 +0000 (21:50 +0200)]
Collada: improved Error handling: Avoid shutdown of Blender when the Collada importer finds Syntax errors in import data

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 26 Jun 2017 03:37:08 +0000 (13:37 +1000)]
Merge branch 'master' into blender2.8

Note that this drops all changes from master,
useful commits will need to be cherry-picked.

Did this since most commits were relating to UV/textures
which is complicated by texface being removed in 2.8

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 26 Jun 2017 03:27:54 +0000 (13:27 +1000)]
Merge branch 'master' into blender2.8

2 years agoBuilding w/o Python works again
Campbell Barton [Mon, 26 Jun 2017 03:25:51 +0000 (13:25 +1000)]
Building w/o Python works again

2 years agoCleanup: committed by accident
Campbell Barton [Mon, 26 Jun 2017 03:21:09 +0000 (13:21 +1000)]
Cleanup: committed by accident

2 years agoManipulator: name setting function
Campbell Barton [Mon, 26 Jun 2017 03:16:25 +0000 (13:16 +1000)]
Manipulator: name setting function

Default name includes group-name,
we may want to set the name without a prefix.

2 years agoFix freestyle lineset panels being animatable
Aaron Carlisle [Mon, 26 Jun 2017 00:03:19 +0000 (20:03 -0400)]
Fix freestyle lineset panels being animatable

2 years agoUI: Fix Capitalization Inconsistency
Aaron Carlisle [Sun, 25 Jun 2017 23:55:05 +0000 (19:55 -0400)]
UI: Fix Capitalization Inconsistency

2 years agoWM: Fix crash in transform-orientation access
Campbell Barton [Sun, 25 Jun 2017 22:38:21 +0000 (08:38 +1000)]
WM: Fix crash in transform-orientation access

Need to support orientation access when context is NULL.

2 years agoManipulator: add optional properties argument
Campbell Barton [Sun, 25 Jun 2017 22:19:55 +0000 (08:19 +1000)]
Manipulator: add optional properties argument

Needed for RNA/Py API

2 years agoDocs: correct doc-strings
Campbell Barton [Sun, 25 Jun 2017 21:36:29 +0000 (07:36 +1000)]
Docs: correct doc-strings

2 years agoCollada: Exporter now only exports either 'Materials' or 'UV Textures as Materials...
Gaia Clary [Sun, 25 Jun 2017 20:06:04 +0000 (22:06 +0200)]
Collada: Exporter now only exports either 'Materials' or 'UV Textures as Materials'. This makes the user interface more streight

2 years agofix: overlooked the RET_ZERO appendix
Gaia Clary [Sun, 25 Jun 2017 15:04:47 +0000 (17:04 +0200)]
fix: overlooked the RET_ZERO appendix

2 years agofix: T51622 The exporter now exports meshes as <Triangles> when all contained polygon...
Gaia Clary [Sun, 25 Jun 2017 12:51:51 +0000 (14:51 +0200)]
fix: T51622 The exporter now exports meshes as <Triangles> when all contained polygons are tris

2 years agofix: Collada fprintf needs std::string be converted to char *
Gaia Clary [Sun, 25 Jun 2017 11:18:21 +0000 (13:18 +0200)]
fix: Collada fprintf needs std::string be converted to char *

2 years agofix: collada: removed unnecessary extra qualification
Gaia Clary [Sun, 25 Jun 2017 11:10:03 +0000 (13:10 +0200)]
fix: collada: removed unnecessary extra qualification

2 years agofix: adjusted collada declaration after changes in collada module.
Gaia Clary [Sun, 25 Jun 2017 08:50:03 +0000 (10:50 +0200)]
fix: adjusted collada declaration after changes in collada module.
@campbell Barton: Why is this declaration needed at all in stubs.c?
Further up the file collada.h is imported and that already decalres
the function and results in a duplicate declaration.

2 years agoCollada: Fix: Geometry exporter did not create all polylist when meshes are only...
Gaia Clary [Sat, 24 Jun 2017 21:33:34 +0000 (23:33 +0200)]
Collada: Fix: Geometry exporter did not create all polylist when meshes are only partially textured

2 years agocollada: export UV Textures as materials. Note: the reimport of the exported collada...
Gaia Clary [Sat, 24 Jun 2017 20:16:32 +0000 (22:16 +0200)]
collada: export UV Textures as materials. Note: the reimport of the exported collada files will have materials assigned instead of UV Face Textures! This is expected behavior

2 years agocollada: change image export: export either UV Textures or Materials. This
Gaia Clary [Sat, 24 Jun 2017 20:09:08 +0000 (22:09 +0200)]
collada: change image export: export either UV Textures or Materials. This
avoids wrong texture data when multiple objects are exported. Note: This
commit might possiblyt not work fully. The full feature is added with the
next commit)

2 years agoCollada: improved Error handling: Avoid shutdown of Blender when the Collada importer...
Gaia Clary [Sat, 24 Jun 2017 19:50:04 +0000 (21:50 +0200)]
Collada: improved Error handling: Avoid shutdown of Blender when the Collada importer finds Syntax errors in import data

2 years agoCollada: added new functions for improved material exporter (not used yet)
Gaia Clary [Sat, 24 Jun 2017 19:36:03 +0000 (21:36 +0200)]
Collada: added new functions for improved material exporter (not used yet)

2 years agoFix T50856: crash when minimizing window on AMD / Windows.
Brecht Van Lommel [Sat, 24 Jun 2017 14:44:48 +0000 (16:44 +0200)]
Fix T50856: crash when minimizing window on AMD / Windows.

2 years agoFix T51792: crash calling bpy.ops.screen.animation_cancel while scrubbing.
Brecht Van Lommel [Sat, 24 Jun 2017 16:02:30 +0000 (18:02 +0200)]
Fix T51792: crash calling bpy.ops.screen.animation_cancel while scrubbing.

2 years agoRevert "Fix py-api doc building"
Campbell Barton [Sat, 24 Jun 2017 06:56:00 +0000 (16:56 +1000)]
Revert "Fix py-api doc building"

This reverts commit 838a4622cf7a01f302b4decfd74c4b8a17d7b509.

Also add missing 'lightprobe'

2 years agoFix py-api doc building
Campbell Barton [Sat, 24 Jun 2017 06:11:24 +0000 (16:11 +1000)]
Fix py-api doc building

2 years agoEevee: Fix linking error.
Clément Foucault [Sat, 24 Jun 2017 03:25:33 +0000 (05:25 +0200)]
Eevee: Fix linking error.

2 years agoEevee: Planar reflection: Fix normal deformation for background pixels.
Clément Foucault [Sat, 24 Jun 2017 03:24:59 +0000 (05:24 +0200)]
Eevee: Planar reflection: Fix normal deformation for background pixels.

Now it matches world cubemap perfectly.

2 years agoEevee: Fix opengl error cause by bad texture configuration.
Clément Foucault [Fri, 23 Jun 2017 23:46:07 +0000 (01:46 +0200)]
Eevee: Fix opengl error cause by bad texture configuration.

This is fragile and the whole Texture/Framebuffer should be extended to be more flexible.

2 years agoEevee: Use smaller texture for placeholders.
Clément Foucault [Fri, 23 Jun 2017 23:44:43 +0000 (01:44 +0200)]
Eevee: Use smaller texture for placeholders.

2 years agoEevee: Planar Reflection: Add contact hardening normal distortion.
Clément Foucault [Fri, 23 Jun 2017 23:08:26 +0000 (01:08 +0200)]
Eevee: Planar Reflection: Add contact hardening normal distortion.

Save radial distance to camera in alpha channel of the planar probe.
Use this distance to modulate distortion intensity when shading the surface.

2 years agoEevee: Add AO support in planar reflection.
Clément Foucault [Fri, 23 Jun 2017 19:08:53 +0000 (21:08 +0200)]
Eevee: Add AO support in planar reflection.

Technically this enables the use of MinmaxZ pyramid inside the probe captures.
Also Disable AO for cubemap probes because it shows big discontinuities at cubeface limits.

2 years agoEevee: Planar Reflection: Fix precision issue near cliplane.
Clément Foucault [Fri, 23 Jun 2017 17:19:19 +0000 (19:19 +0200)]
Eevee: Planar Reflection: Fix precision issue near cliplane.

The problem was that the depth prepass was using the clip plane but not the shading pass.

During the clipping stage, the triangle is converted to a quad clipped to the given clip plane.
But this introduce subtle changes in the depth when this new geometry is rasterized. Since the shading pass was using an EQUAL depth test, the depth values from the shading pass were not always equal to the depth prepass.

Enabling clipping in the shading vertex shader has a too small impact to require a dedicated shader.

2 years agoEevee: Planar reflection: Fix bad texture binding.
Clément Foucault [Fri, 23 Jun 2017 17:02:40 +0000 (19:02 +0200)]
Eevee: Planar reflection: Fix bad texture binding.

2 years agoSilence warnings (tsc, tsc)
Dalai Felinto [Fri, 23 Jun 2017 14:45:14 +0000 (16:45 +0200)]
Silence warnings (tsc, tsc)

2 years agoGPUMaterial: Avoid freeing GLSL shaders when changing scene properties.
Clément Foucault [Fri, 23 Jun 2017 14:41:44 +0000 (16:41 +0200)]
GPUMaterial: Avoid freeing GLSL shaders when changing scene properties.

This was causing major slowdown when changing Colormanagment settings or post processing.

2 years agoRevert "Temporarily disable material preview (T51796 workaround)"
Luca Rood [Fri, 23 Jun 2017 09:55:04 +0000 (11:55 +0200)]
Revert "Temporarily disable material preview (T51796 workaround)"

This reverts commit 0d9611718d89636d0d407555252b3a6a1d7ef2f9.

The preview issues have been solved by CoW commit

2 years agoFix Eevee "No output node" issue
Luca Rood [Fri, 23 Jun 2017 08:49:09 +0000 (10:49 +0200)]
Fix Eevee "No output node" issue

This fixes an issue introduced by the new output node system, where "No
output node" was displayed in the material panel even when an output
node was present.

2 years agoGrease Pencil: Fix hardcoded DKEY for continous drawing
Dalai Felinto [Fri, 23 Jun 2017 08:32:03 +0000 (10:32 +0200)]
Grease Pencil: Fix hardcoded DKEY for continous drawing

2 years agoFix T51845
raa [Fri, 23 Jun 2017 08:04:58 +0000 (11:04 +0300)]
Fix T51845

2 years agoManipulator: partial depth support
Campbell Barton [Fri, 23 Jun 2017 07:20:25 +0000 (17:20 +1000)]
Manipulator: partial depth support

Use the depth flag added for this purpose.
Although this only works for regular currently, not selection.

2 years agoManipulator: disable GL state changes drawing geometry
Campbell Barton [Fri, 23 Jun 2017 06:47:49 +0000 (16:47 +1000)]
Manipulator: disable GL state changes drawing geometry

If there is case this is needed, we can enable and restore state
for now it seems OK to disable.

2 years agoManipulator: flip scale flag usage
Campbell Barton [Fri, 23 Jun 2017 05:50:55 +0000 (15:50 +1000)]
Manipulator: flip scale flag usage

Naming was confusing, while technically correct -
the result is no scaling (manipulator ignores zoom-level).

Also remove 3D from name since this can be supported for 2D views too.

2 years agoManipulator: rename struct members
Campbell Barton [Fri, 23 Jun 2017 04:48:37 +0000 (14:48 +1000)]
Manipulator: rename struct members

- matrix -> matrix_basis
- user_scale -> scale_basis
- scale -> scale_final

Match RNA names being added to custom-manipulator branch.

2 years agoEevee: Put pack AO parameters.
Clément Foucault [Fri, 23 Jun 2017 02:12:46 +0000 (04:12 +0200)]
Eevee: Put pack AO parameters.

2 years agoManipulator: add tweak-snap (not used yet)
Campbell Barton [Fri, 23 Jun 2017 01:13:46 +0000 (11:13 +1000)]
Manipulator: add tweak-snap (not used yet)

2 years agoEevee: Attempt to optimize GTAO shader.
Clément Foucault [Fri, 23 Jun 2017 00:52:15 +0000 (02:52 +0200)]
Eevee: Attempt to optimize GTAO shader.

Unroll horizon search loop. Use fast version of acos.
On nvidia linux, unrolling the 2nd loop is giving very high compilation time.

2 years agoEevee: Fix OpenGl errors.
Clément Foucault [Thu, 22 Jun 2017 23:33:28 +0000 (01:33 +0200)]
Eevee: Fix OpenGl errors.

Also assert if texture does not exists in draw manager. Keeping it sane.

2 years agoManipulator: fix broken hover option
Campbell Barton [Thu, 22 Jun 2017 23:18:53 +0000 (09:18 +1000)]
Manipulator: fix broken hover option

Hover flag caused manipulators not to update
(Camera DOF works again).

2 years agoDrawManager: Add support for writting to depth without depth testing.
Clément Foucault [Thu, 22 Jun 2017 16:53:36 +0000 (18:53 +0200)]
DrawManager: Add support for writting to depth without depth testing.

Disabling depth test will prevent from writting to depth buffer.
Add DRW_STATE_DEPTH_ALWAYS to always pass the depth test and write to depth.

2 years agoEevee: Fix max range of lightprobes
Dalai Felinto [Thu, 22 Jun 2017 16:35:08 +0000 (18:35 +0200)]
Eevee: Fix max range of lightprobes