3 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 29 Jun 2017 08:11:17 +0000 (10:11 +0200)]
Merge branch 'master' into blender2.8


3 years agoFix T51926: Selecting pose icon under expanded group in outliner causes crash.
Bastien Montagne [Thu, 29 Jun 2017 08:09:17 +0000 (10:09 +0200)]
Fix T51926: Selecting pose icon under expanded group in outliner causes crash.

Cannot switch uninstantiated armature to Pose mode...

3 years agoDwM: no need to calculate face normal
Campbell Barton [Thu, 29 Jun 2017 05:52:08 +0000 (15:52 +1000)]
DwM: no need to calculate face normal

3 years agoCleanup: quiet negative shift warning
Campbell Barton [Thu, 29 Jun 2017 05:34:50 +0000 (15:34 +1000)]
Cleanup: quiet negative shift warning

3 years agoDwM: add CD_AUTO_FROM_NAME for mesh conversion
Campbell Barton [Thu, 29 Jun 2017 05:23:47 +0000 (15:23 +1000)]
DwM: add CD_AUTO_FROM_NAME for mesh conversion

3 years agoFix crash & performance regression w/ base lookup
Campbell Barton [Thu, 29 Jun 2017 02:04:43 +0000 (12:04 +1000)]
Fix crash & performance regression w/ base lookup

Was doing O(n^2) list lookups with blender-render drawing & transform.
Also missing NULL checks would crash.

Use Object.base_flag (already used by new draw manager in places)
to avoid list lookup.

Note, transform still performs inefficient lookups,
but only for selected parents (like 2.7x), not all parents.

3 years agoEevee: Add Initial support for Principle BRDF.
Clément Foucault [Wed, 28 Jun 2017 23:22:23 +0000 (01:22 +0200)]
Eevee: Add Initial support for Principle BRDF.

Lots of things not working yet but it's comming.

3 years agoEevee: Remove ShadingData struct.
Clément Foucault [Wed, 28 Jun 2017 23:20:35 +0000 (01:20 +0200)]
Eevee: Remove ShadingData struct.

That was a bad idea after all.

3 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

3 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.

3 years agoFix T51909: Cycles: Uninitialized closure normals for the Hair BSDF
Lukas Stockner [Wed, 28 Jun 2017 19:25:30 +0000 (21:25 +0200)]
Fix T51909: Cycles: Uninitialized closure normals for the Hair BSDF

As the title says, the normal wasn't set for the Hair BSDF because it wasn't
needed before. However, the denoiser uses it to store the feature passes, so
it needs to be set now.

3 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.

3 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.

3 years agoFix node UI not using translation context correctly.
Bastien Montagne [Wed, 28 Jun 2017 18:50:21 +0000 (20:50 +0200)]
Fix node UI not using translation context correctly.

Now that some node types may have custom context, we need to handle that
in the (convoluted :| ) UI code of nodes as well.

Reported in T43295 by Gabriel Gazzán (@gab3d), thanks.

3 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.

3 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

3 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.

3 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.

3 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.

3 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

3 years agoFix own really stupid mistake/typo in previous commit...
Bastien Montagne [Wed, 28 Jun 2017 11:21:04 +0000 (13:21 +0200)]
Fix own really stupid mistake/typo in previous commit...

3 years agoFix T51900: Crash after pressing "F" multiple times.
Bastien Montagne [Wed, 28 Jun 2017 08:53:52 +0000 (10:53 +0200)]
Fix T51900: Crash after pressing "F" multiple times.

`BMO_iter_as_array()` may fill less items than requested in given array,
so we have to update number of items to work on from its returned value,
otherwise code might try to use uninitialized memory.

3 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.

3 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.

3 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.

3 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.

3 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.

3 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

3 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.

3 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.

3 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.

3 years agoFix T51913: Context tab for textures issue
Dalai Felinto [Tue, 27 Jun 2017 14:53:43 +0000 (16:53 +0200)]
Fix T51913: Context tab for textures issue

The original code was doing a sanity check to see if existing index was
out of range. However the comparison was wrong.

So if the previous ct->user (active index of texture node) was larger
than then number of available texture nodes + 1 in the other material,
we would never re-set the index to 0.

Bug introduced on c31f74de6bb7.

There was an early attempt of fixing this (2b2ac5d3cc) but it was just working
by pure, luck. And failing in cases like the one from this bug report.

3 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

3 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.

3 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

3 years agoCleanup: remove unused function
Campbell Barton [Tue, 27 Jun 2017 08:05:44 +0000 (18:05 +1000)]
Cleanup: remove unused function

3 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%).

3 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.

3 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

3 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

3 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.

3 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.

3 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

3 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.

3 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.

3 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.

3 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...

3 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).

3 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.

3 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...

3 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:

3 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.

3 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

3 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.

3 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

3 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.

3 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

3 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

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

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

3 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.

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

3 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

3 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

3 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

3 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

3 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

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

3 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.

3 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

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

3 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.

3 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

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

3 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

3 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

3 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

3 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 *

3 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

3 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.

3 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

3 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

3 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)

3 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

3 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)

3 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.

3 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.

3 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'

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

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

3 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.

3 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.

3 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.

3 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.

3 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.

3 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.

3 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.

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

3 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.

3 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