4 years agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Wed, 17 Jan 2018 11:38:52 +0000 (12:38 +0100)]
Merge branch 'master' into blender2.8

4 years agoSimplified GRAPH_OT_driver_delete_invalid after feedback @aligorith
Sybren A. Stüvel [Wed, 17 Jan 2018 11:38:14 +0000 (12:38 +0100)]
Simplified GRAPH_OT_driver_delete_invalid after feedback @aligorith

By adding the ANIMFILTER_NODUPLIS flag to the filter it'll only be
processing each F-Curve once, which means we can remove while iterating.

This also solves a potential issue when a datablock has a driver and is
shared among multiple objects.

4 years agoDepsgraph: Use more const qualifiers
Sergey Sharybin [Wed, 17 Jan 2018 11:26:43 +0000 (12:26 +0100)]
Depsgraph: Use more const qualifiers

4 years agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Wed, 17 Jan 2018 11:21:05 +0000 (12:21 +0100)]
Merge branch 'master' into blender2.8

4 years agoAdded "Delete Invalid Drivers" operator
Sybren A. Stüvel [Wed, 17 Jan 2018 11:12:37 +0000 (12:12 +0100)]
Added "Delete Invalid Drivers" operator

This operator is available in the graph editor in the Drivers mode, and
allows quick cleanup of drivers marked as 'invalid'.

4 years agoCleanup: replace BLI_dynstr w/ BLI_string_joinN
Campbell Barton [Wed, 17 Jan 2018 10:40:43 +0000 (21:40 +1100)]
Cleanup: replace BLI_dynstr w/ BLI_string_joinN

Use in place of recently reverted 'DRW_shader_create_lib'

4 years agoDepsgrapph: Fix/workaround for missing hair
Sergey Sharybin [Wed, 17 Jan 2018 10:18:52 +0000 (11:18 +0100)]
Depsgrapph: Fix/workaround for missing hair

The issue was happening because dependency graph did not inform particle
settings as modified. This is a regression caused by tagging and flushing
mechanism refactor.

The real fix would be to make particle settings to use ID level recalc flags
rather than own flags, which will also simplify relations around particle system,
and particle settings evaluation.

Reported by Mai in IRC.

4 years agoRevert "Fix use-after free in DRW_shader_create_with_lib"
Campbell Barton [Wed, 17 Jan 2018 09:35:06 +0000 (20:35 +1100)]
Revert "Fix use-after free in DRW_shader_create_with_lib"

Caused an error entering edit-mode.

d60f26f37a & 2659500835

4 years agoFix assert in mesh batch conversion
Campbell Barton [Wed, 17 Jan 2018 08:54:13 +0000 (19:54 +1100)]
Fix assert in mesh batch conversion

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 17 Jan 2018 08:29:50 +0000 (19:29 +1100)]
Merge branch 'master' into blender2.8

4 years agoFix use-after free in DRW_shader_create_with_lib
Campbell Barton [Wed, 17 Jan 2018 08:28:15 +0000 (19:28 +1100)]
Fix use-after free in DRW_shader_create_with_lib

Limit scope to avoid future accidents

4 years agoCorrect simple deform versioning from D2989
Campbell Barton [Wed, 17 Jan 2018 08:17:49 +0000 (19:17 +1100)]
Correct simple deform versioning from D2989

4 years agoEevee: Update lightprobes when deleting or linking a new world datablock
Clément Foucault [Tue, 16 Jan 2018 23:23:31 +0000 (00:23 +0100)]
Eevee: Update lightprobes when deleting or linking a new world datablock

4 years agoFix T53810: Crash removing a scene used in render
Campbell Barton [Tue, 16 Jan 2018 23:00:14 +0000 (10:00 +1100)]
Fix T53810: Crash removing a scene used in render

Header drawing accesses the scene too.

4 years agoEevee: SSS: Fix OpenGL error when enabling TRANSLUCENCY but not SSSS.
Clément Foucault [Tue, 16 Jan 2018 23:01:17 +0000 (00:01 +0100)]
Eevee: SSS: Fix OpenGL error when enabling TRANSLUCENCY but not SSSS.

This was causing this error:
"Different sampler types for same sample texture unit in fragment shader"

4 years agoDRW: Codestyle refactor: Use macro to create shader libs.
Clément Foucault [Tue, 16 Jan 2018 22:40:15 +0000 (23:40 +0100)]
DRW: Codestyle refactor: Use macro to create shader libs.

This clears up the code from many DynStr usage. Easier to read.

4 years agoEevee: SSR: Fix artifacts at object/background limits.
Clément Foucault [Tue, 16 Jan 2018 21:18:35 +0000 (22:18 +0100)]
Eevee: SSR: Fix artifacts at object/background limits.

This should have a very small perf impact but it's needed.

4 years agoEevee: Fix Hashed Alpha.
Clément Foucault [Tue, 16 Jan 2018 18:40:17 +0000 (19:40 +0100)]
Eevee: Fix Hashed Alpha.

Now hashed alpha materials are stable when moving the camera/not using TAA.
It also converge to a noise free image when using TAA. No more numerical imprecision.

There still can be situations with multiple overlapping transparent surfaces that can lead to residual noise.

4 years agoEevee: AO: Removes samples and denoise options.
Clément Foucault [Tue, 16 Jan 2018 17:21:56 +0000 (18:21 +0100)]
Eevee: AO: Removes samples and denoise options.

This comes with a lot of code simplification that leads to a small performance improvement.

4 years agoEevee: Add macro to sample noise in utilTex.
Clément Foucault [Tue, 16 Jan 2018 17:17:02 +0000 (18:17 +0100)]
Eevee: Add macro to sample noise in utilTex.

Avoid future coding error.

4 years agoEevee: SSR: Derive the brdf bias from the trace quality.
Clément Foucault [Tue, 16 Jan 2018 13:03:31 +0000 (14:03 +0100)]
Eevee: SSR: Derive the brdf bias from the trace quality.

Also change the range of the trace quality so that the trace actually covers the screen most of the time.

4 years agoEevee: Fix SSRefraction noise.
Clément Foucault [Tue, 16 Jan 2018 13:02:00 +0000 (14:02 +0100)]
Eevee: Fix SSRefraction noise.

4 years agoEevee: SSR: Enhance the halfres raytrace.
Clément Foucault [Tue, 16 Jan 2018 12:18:04 +0000 (13:18 +0100)]
Eevee: SSR: Enhance the halfres raytrace.

This make the halfres raytrace actually converge to an antialiased image by jittering the source pixel.

4 years agoEevee: SSR: Optimise Texture fetches and solve noise issue.
Clément Foucault [Tue, 16 Jan 2018 12:13:30 +0000 (13:13 +0100)]
Eevee: SSR: Optimise Texture fetches and solve noise issue.

There was some remaining issue caused by neighbor re-use. Randomizing them every _prime_number_ of iterations fixes this.

4 years agoEevee: SSR: Remove ray count and use integer texture for hit coord.
Clément Foucault [Mon, 15 Jan 2018 16:23:17 +0000 (17:23 +0100)]
Eevee: SSR: Remove ray count and use integer texture for hit coord.

Using GL_RG16I texture for the hit coordinates increase tremendously the precision of the hit.
The sign of the integer is used to 2 flags (has_hit and is_planar).
We do not store the depth and retrieve it from the depth buffer (increasing bandwith by +8bit/px).
The PDF is stored into another GL_R16F texture.

We remove the raycount for simplicity and to reduce compilation time (less branching in refraction shader).

4 years agoEevee: Fix noise correlation in the blue noise update.
Clément Foucault [Mon, 15 Jan 2018 16:14:49 +0000 (17:14 +0100)]
Eevee: Fix noise correlation in the blue noise update.

4 years agoDRW: Change framebuffer texture creation.
Clément Foucault [Mon, 15 Jan 2018 15:54:24 +0000 (16:54 +0100)]
DRW: Change framebuffer texture creation.

Instead of creating non temp textures only at framebuffer creation, we create them and bind them if their pointer is NULL.

This should simplify the framebuffers creation code.

4 years agoCleanup: Avoid ifdefs in multiple places
Sergey Sharybin [Tue, 16 Jan 2018 16:14:57 +0000 (17:14 +0100)]
Cleanup: Avoid ifdefs in multiple places

Define a helper macro. Makes code read easier.

4 years agoCleanup: Remove deprecated enum flags
Sergey Sharybin [Tue, 16 Jan 2018 15:47:00 +0000 (16:47 +0100)]
Cleanup: Remove deprecated enum flags

Those are not used anymore.

4 years agoCleanup: Get rid of legacy extra recalc flags
Sergey Sharybin [Tue, 16 Jan 2018 15:45:35 +0000 (16:45 +0100)]
Cleanup: Get rid of legacy extra recalc flags

Those are not used by new dependency graph and are not needed for properly
created rigs with new granular nodes.

4 years agoStatic override: cleanup: name consistency.
Bastien Montagne [Tue, 16 Jan 2018 16:10:36 +0000 (17:10 +0100)]
Static override: cleanup: name consistency.

4 years agoStatic override: enhance 'make override' operator.
Bastien Montagne [Tue, 16 Jan 2018 16:04:53 +0000 (17:04 +0100)]
Static override: enhance 'make override' operator.

Now when you make an override of a linked armature, code will
automatically also override objects using that armature (deformed by, or
children of), trying to replicate make_proxy results.

Also some initial code to replicate 'make_proxy' in case of instantiated
linked groups, but that is not working yet (and will also require some
work in RNA part of group's objects collection anyway).

4 years agoStatic overrides API: add functions to create overrides from several datablocks at...
Bastien Montagne [Mon, 15 Jan 2018 13:57:02 +0000 (14:57 +0100)]
Static overrides API: add functions to create overrides from several datablocks at once.

This simplifies remapping task, since you don't have to ensure your
overrides are created in the correct dependency order.

Uses famous LIB_TAG_DOIT to mark IDs to be overridden.

4 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 16 Jan 2018 15:40:05 +0000 (16:40 +0100)]
Merge branch 'master' into blender2.8

4 years agoCleanup: Naming of depsgraph
Sergey Sharybin [Tue, 16 Jan 2018 15:38:39 +0000 (16:38 +0100)]
Cleanup: Naming of depsgraph

4 years agoAlembic: don't explicitly pass NULL
Sybren A. Stüvel [Tue, 16 Jan 2018 15:28:10 +0000 (16:28 +0100)]
Alembic: don't explicitly pass NULL

4 years agoT53711: Alembic don´t import vertex colors correctly
Sybren A. Stüvel [Tue, 16 Jan 2018 14:05:31 +0000 (15:05 +0100)]
T53711: Alembic don´t import vertex colors correctly

An index stored in Alembic wasn't used. Often this index is a no-op
(i.e. index[n] = n), in which case the result was fine. However, when it
isn't, it caused issues.

4 years agoDraw manager: Cleanup, use full name for depsgraph variable
Sergey Sharybin [Tue, 16 Jan 2018 14:58:39 +0000 (15:58 +0100)]
Draw manager: Cleanup, use full name for depsgraph variable

4 years agoDraw manager: Make depsgraph a part of draw state
Sergey Sharybin [Tue, 16 Jan 2018 14:42:03 +0000 (15:42 +0100)]
Draw manager: Make depsgraph a part of draw state

Makes it more explicit and avoids hash loookup when depsgraph is needed.

4 years agoDraw manager: Make update context aware of what depsgraph causes update
Sergey Sharybin [Tue, 16 Jan 2018 14:38:44 +0000 (15:38 +0100)]
Draw manager: Make update context aware of what depsgraph causes update

4 years agoDepsgraph: pass depsgraph to editors update context struct
Sergey Sharybin [Tue, 16 Jan 2018 14:37:52 +0000 (15:37 +0100)]
Depsgraph: pass depsgraph to editors update context struct

This way callbacks will know which depsgraph is being changed, and where
evaluated data is coming from.

4 years agoAdd dedicated pointer to an original ID datablock
Sergey Sharybin [Tue, 16 Jan 2018 13:57:02 +0000 (14:57 +0100)]
Add dedicated pointer to an original ID datablock

Before we were re-using newid pointer inside of ID structure where we were
storing pointer to an original datablock.

It seems there is no way we can avoid requirement of having pointer to an
original datablock, so let's stop obusing system which was only designed to
be a runtime only thingie. Will be more safe this way, without need to worry
about using any API which modifies newid.

4 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 16 Jan 2018 13:52:43 +0000 (14:52 +0100)]
Merge branch 'master' into blender2.8

4 years agoSculpting: Fix uninitialized color being left for smooth meshes with hidden mask
Sergey Sharybin [Tue, 16 Jan 2018 13:46:48 +0000 (14:46 +0100)]
Sculpting: Fix uninitialized color being left for smooth meshes with hidden mask

4 years agoSculpting: Fix for "Hide Mask" does not work with multires
Sergey Sharybin [Tue, 16 Jan 2018 13:31:52 +0000 (14:31 +0100)]
Sculpting: Fix for "Hide Mask" does not work with multires

4 years agoManipulator: fix arrow offset in perspective view
Campbell Barton [Tue, 16 Jan 2018 12:37:11 +0000 (23:37 +1100)]
Manipulator: fix arrow offset in perspective view

Use 3D calculations instead of projecting into 2D space.

4 years agoFix compilation error
Sergey Sharybin [Tue, 16 Jan 2018 11:48:33 +0000 (12:48 +0100)]
Fix compilation error

4 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 16 Jan 2018 11:07:43 +0000 (12:07 +0100)]
Merge branch 'master' into blender2.8

4 years agoFix missing node tree updates when unconnected node affects output via driver
Sergey Sharybin [Tue, 16 Jan 2018 11:06:22 +0000 (12:06 +0100)]
Fix missing node tree updates when unconnected node affects output via driver

Fixes T53794: Can't control color ramp node color values with drivers

4 years agoDepsgraph: Fix fake cyclic dependencies for node tree drivers
Sergey Sharybin [Tue, 16 Jan 2018 10:53:34 +0000 (11:53 +0100)]
Depsgraph: Fix fake cyclic dependencies for node tree drivers

There was a fake cyclic dependency happening when node of node tree is driving
another node of the same tree.

This is related to T53794, but more fixes is needed here.

4 years agoDepsgraph: Better relations name
Sergey Sharybin [Tue, 16 Jan 2018 10:43:05 +0000 (11:43 +0100)]
Depsgraph: Better relations name

4 years agoDepsgraph: Check for ID match when checking if operations corresponds to the same...
Sergey Sharybin [Tue, 16 Jan 2018 10:41:50 +0000 (11:41 +0100)]
Depsgraph: Check for ID match when checking if operations corresponds to the same bone

4 years agoDepsgraph: Cleanup, indentation
Sergey Sharybin [Tue, 16 Jan 2018 10:40:02 +0000 (11:40 +0100)]
Depsgraph: Cleanup, indentation

4 years agoDepsgraph: Cleanup, brace placement\
Sergey Sharybin [Tue, 16 Jan 2018 10:38:44 +0000 (11:38 +0100)]
Depsgraph: Cleanup, brace placement\

4 years agoreadfile: ensure blend header follows the spec
Campbell Barton [Tue, 16 Jan 2018 09:00:13 +0000 (20:00 +1100)]
readfile: ensure blend header follows the spec

4 years agoRuler Manipulator: dragging out of the view removes
Campbell Barton [Tue, 16 Jan 2018 07:08:21 +0000 (18:08 +1100)]
Ruler Manipulator: dragging out of the view removes

Not ideal, but means we don't need to override Delete key.

4 years agoManipulator: Support tweak removing the manipulator
Campbell Barton [Tue, 16 Jan 2018 07:03:15 +0000 (18:03 +1100)]
Manipulator: Support tweak removing the manipulator

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 16 Jan 2018 03:56:03 +0000 (14:56 +1100)]
Merge branch 'master' into blender2.8

4 years agoCleanup: indentation
Campbell Barton [Tue, 16 Jan 2018 00:40:43 +0000 (11:40 +1100)]
Cleanup: indentation

4 years agoUI: support canceling color ramp drag
Campbell Barton [Tue, 16 Jan 2018 00:14:54 +0000 (11:14 +1100)]
UI: support canceling color ramp drag

D2997 by @oktomus

4 years agoFix collection visibility evaluation
Dalai Felinto [Mon, 15 Jan 2018 22:08:50 +0000 (20:08 -0200)]
Fix collection visibility evaluation

Collection       A [disabled]
 -> Collection   B
   -> Collection C
     -> object

Object should be invisible, but it is not. Reported by Antonio Vazquez.

Bug introduced on: 1f5106de610b

4 years agoFix crash in outliner when moving objects around
Dalai Felinto [Mon, 15 Jan 2018 21:06:30 +0000 (19:06 -0200)]
Fix crash in outliner when moving objects around

How to reproduce it:
* Change Outliner from Active View Layer to Collections
* Create a new collection under Master Collection (Collection 2)
* Move all three objects from Collection 1 to Collection 2
* Move all three objects from Collection 2 to Collection 1

4 years agoOutliner/Collections: Fix objects disappearing when moving to collections
Dalai Felinto [Mon, 15 Jan 2018 20:27:50 +0000 (18:27 -0200)]
Outliner/Collections: Fix objects disappearing when moving to collections

Bug introduced on fb4cd136a7c (multi-object drag-and-drop).

How to reproduce the bug:
* Create a new collection
* Move the Cube to the new collection
* Move the Camera to the new collection (Cube disappears)
* Move the Lamp to the new collection (Camera disappears)

Explanation of the bug:
The moved object was still selected, so we were trying to add the object to the
collection were the object was already inserted (which would fail silently) and
then remove it.

4 years agoFix: Mesh Edit Mode Shader: Correct artifacts that appeared on edges of edit mode...
Germano [Mon, 15 Jan 2018 18:29:41 +0000 (16:29 -0200)]
Fix: Mesh Edit Mode Shader: Correct artifacts that appeared on edges of edit mode with some AMD GPUs

In case the problem appeared with the `AMD Radeon HD 7570M`

4 years agoFix unreported: Eevee Principled Shader: Crash because Intel does not like dead code
Germano [Mon, 15 Jan 2018 15:49:50 +0000 (13:49 -0200)]
Fix unreported: Eevee Principled Shader: Crash because Intel does not like dead code

The reason for the crash is still a bit confusing, but on Windows with Intel HD Graphics 4000 it always happens when you enable `Use Nodes` or when you try to connect the Pricipled Shader node to the output without the `Subsurface Scattering` and `Subsurface Translucency` options enabled.

4 years agoGPU Texture: Add GL_RG16I format.
Clément Foucault [Sat, 13 Jan 2018 16:14:01 +0000 (17:14 +0100)]
GPU Texture: Add GL_RG16I format.

4 years agoGPU_batch_from_poly_2d_encoded: skip winding check
Campbell Barton [Mon, 15 Jan 2018 13:59:52 +0000 (00:59 +1100)]
GPU_batch_from_poly_2d_encoded: skip winding check

Ensure all polygons have the same winding instead.

4 years agoGPU_batch_from_poly_2d_encoded: optional rctf arg
Campbell Barton [Mon, 15 Jan 2018 13:06:39 +0000 (00:06 +1100)]
GPU_batch_from_poly_2d_encoded: optional rctf arg

Also use compiler attributes

4 years agoCleanup: update comments
Campbell Barton [Mon, 15 Jan 2018 12:44:19 +0000 (23:44 +1100)]
Cleanup: update comments

4 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Mon, 15 Jan 2018 12:55:52 +0000 (13:55 +0100)]
Merge branch 'master' into blender2.8

4 years agoAllow for multi-gigapixel renders
Karl Semich [Mon, 15 Jan 2018 11:53:17 +0000 (12:53 +0100)]
Allow for multi-gigapixel renders

This patch fixes a 32-bit overflow that occurs on 64-bit systems due to a numeric literal being treated as 32-bit.

This patch allows for the generation of images that occupy more than 4GB of RAM, which previously caused a crash.

Reviewers: sergey

Reviewed By: sergey

Differential Revision:

4 years agoCycles: CLeanup, remove unused function argument
Sergey Sharybin [Mon, 15 Jan 2018 10:45:16 +0000 (11:45 +0100)]
Cycles: CLeanup, remove unused function argument

4 years agoSculpting: Sdd an option to hide mask in viewport
Sergey Sharybin [Mon, 15 Jan 2018 10:38:56 +0000 (11:38 +0100)]
Sculpting: Sdd an option to hide mask in viewport

Brushes themselves are still affected by the mask, but the viewport is not
showing the mask. This way it's easier to see details while sculpting.

Studio request by Julien Kaspar

4 years agoGPU buffers: Use bitflag to whether we want to show diffuse color
Sergey Sharybin [Fri, 12 Jan 2018 16:35:26 +0000 (17:35 +0100)]
GPU buffers: Use bitflag to whether we want to show diffuse color

Those fine-tuning bits will be extended soon, so makes sense to start using
some more verbose flag names when calling functions.

4 years agoManipulator: vector icons for 3D view navigation
Campbell Barton [Mon, 15 Jan 2018 09:46:42 +0000 (20:46 +1100)]
Manipulator: vector icons for 3D view navigation

Use different icons for perspective/ortho state
(previous icon was place-holder).

4 years agoManipulator: support for buttons as vector shapes
Campbell Barton [Mon, 15 Jan 2018 09:40:57 +0000 (20:40 +1100)]
Manipulator: support for buttons as vector shapes

4 years agoGPU_batch: Add utility to create 2D shapes
Campbell Barton [Mon, 15 Jan 2018 09:38:06 +0000 (20:38 +1100)]
GPU_batch: Add utility to create 2D shapes

Shapes are represented by compact byte array,
encoded by '' in the tools repo.

4 years agoGPU_batch_presets: move static vars into struct
Campbell Barton [Mon, 15 Jan 2018 05:52:28 +0000 (16:52 +1100)]
GPU_batch_presets: move static vars into struct

Also use GWN raw stepping API to fill in data.

4 years agoCleanup: split GPU_batch_presets into own file
Campbell Barton [Mon, 15 Jan 2018 05:21:23 +0000 (16:21 +1100)]
Cleanup: split GPU_batch_presets into own file

Mixing other batch code in this file easily shadowed existing variables.
Keep presets separate (we may have more, 2D & 3D presets)

4 years agoManipulator: add free callback
Campbell Barton [Mon, 15 Jan 2018 05:06:56 +0000 (16:06 +1100)]
Manipulator: add free callback

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 15 Jan 2018 04:59:59 +0000 (15:59 +1100)]
Merge branch 'master' into blender2.8

4 years agoRNA: Add RNA_property_string_set_bytes
Campbell Barton [Mon, 15 Jan 2018 04:49:16 +0000 (15:49 +1100)]
RNA: Add RNA_property_string_set_bytes

This is needed to set values that contain zero bytes
(where the length isn't fixed).

4 years agoCleanup: correct names
Campbell Barton [Sun, 14 Jan 2018 06:54:27 +0000 (17:54 +1100)]
Cleanup: correct names

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 14 Jan 2018 06:29:38 +0000 (17:29 +1100)]
Merge branch 'master' into blender2.8

4 years agoCleanup: BLI_ghash
Campbell Barton [Sun, 14 Jan 2018 06:15:02 +0000 (17:15 +1100)]
Cleanup: BLI_ghash

Improve hashsizes comment too.

4 years agoFix T53772: Presets don't support colons
Campbell Barton [Sun, 14 Jan 2018 03:31:39 +0000 (14:31 +1100)]
Fix T53772: Presets don't support colons

4 years agoMerge branch 'blender2.8' of into blender2.8
Germano [Sat, 13 Jan 2018 03:13:37 +0000 (01:13 -0200)]
Merge branch 'blender2.8' of into blender2.8

4 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sat, 13 Jan 2018 01:05:49 +0000 (02:05 +0100)]
Merge branch 'master' into blender2.8

4 years agoFix T53771: missing view pixels when rendering multiview + FSAA.
Brecht Van Lommel [Fri, 12 Jan 2018 22:47:24 +0000 (23:47 +0100)]
Fix T53771: missing view pixels when rendering multiview + FSAA.

This never worked, it's not due to recent refactoring.

4 years agoCycles: adaptive subdivision support for panoramic cameras.
Mai Lavelle [Fri, 12 Jan 2018 01:14:27 +0000 (02:14 +0100)]
Cycles: adaptive subdivision support for panoramic cameras.

Adds the code to get screen size of a point in world space, which is
used for subdividing geometry to the correct level. The approximate
method of treating the point as if it were directly in front of the
camera is used, as panoramic projections can become very distorted
near the edges of an image. This should be fine for most uses.

There is also no support yet for offscreen dicing scale, though
panorama cameras are often used for rendering 360° renders anyway.

Fixes T49254.

Differential Revision:

4 years agoCode refactor: adjust camera update for easier code sharing with kernel.
Brecht Van Lommel [Fri, 12 Jan 2018 19:22:55 +0000 (20:22 +0100)]
Code refactor: adjust camera update for easier code sharing with kernel.

4 years agoCode cleanup: remove test code to disable motion blur, no longer useful.
Brecht Van Lommel [Fri, 12 Jan 2018 18:56:52 +0000 (19:56 +0100)]
Code cleanup: remove test code to disable motion blur, no longer useful.

4 years agoDraw Manager: Edit Mode Shader: Remove `#ifdef GPU_INTEL`
Germano [Fri, 12 Jan 2018 17:09:13 +0000 (15:09 -0200)]
Draw Manager: Edit Mode Shader: Remove `#ifdef GPU_INTEL`

The problem with memory alignment on Intel GPUs does not happen anymore after the last shader changes.

4 years agoEevee: Fix motion blur alpha being > 1.0
Clément Foucault [Fri, 12 Jan 2018 14:57:21 +0000 (15:57 +0100)]
Eevee: Fix motion blur alpha being > 1.0

4 years agoEevee: Fix Motion blur not working in OGL render.
Clément Foucault [Fri, 12 Jan 2018 14:56:29 +0000 (15:56 +0100)]
Eevee: Fix Motion blur not working in OGL render.

Thanks to @sergey for the patch.

Also include some sexy line breaks.

4 years agoFix T53759: Cycles / 2.8: Light position doesnt update in viewport render
Sergey Sharybin [Thu, 11 Jan 2018 15:04:29 +0000 (16:04 +0100)]
Fix T53759: Cycles / 2.8: Light position doesnt update in viewport render

4 years agoOutliner: Harmless cleanup
Dalai Felinto [Fri, 12 Jan 2018 11:04:37 +0000 (09:04 -0200)]
Outliner: Harmless cleanup

There is even a chance the compilers handles this itself, but we should try to
use the internal storage as much as possible (and save 0.000001s in the process)

4 years agoFix bmesh.utils.face_join arg parsing
Campbell Barton [Fri, 12 Jan 2018 03:51:15 +0000 (14:51 +1100)]
Fix bmesh.utils.face_join arg parsing

4 years agoUser Prefs: app-template option to hide the cursor
Campbell Barton [Fri, 12 Jan 2018 01:41:03 +0000 (12:41 +1100)]
User Prefs: app-template option to hide the cursor

4 years agoUser Prefs: add new flag for app-template options
Campbell Barton [Fri, 12 Jan 2018 01:30:58 +0000 (12:30 +1100)]
User Prefs: add new flag for app-template options

For experimental options, outside the scope of typical preferences.

While templates are developed we might want to make changes
to behavior which aren't fully compatible with typical work-flows.

Instead of mixing these options in with current preferences
expose separately (we could even force disable them when templates
aren't int use)