Campbell Barton
dfea9f43db
Merge branch 'master' into blender2.8
2018-01-17 19:29:50 +11:00
Campbell Barton
8d064c5bc4
Fix use-after free in DRW_shader_create_with_lib
...
Limit scope to avoid future accidents
2018-01-17 19:28:15 +11:00
Campbell Barton
7935a394b7
Correct simple deform versioning from D2989
2018-01-17 19:17:49 +11:00
Clément Foucault
c02d428147
Eevee: Update lightprobes when deleting or linking a new world datablock
2018-01-17 00:23:31 +01:00
Campbell Barton
a19e3bdad8
Fix T53810: Crash removing a scene used in render
...
Header drawing accesses the scene too.
2018-01-17 10:03:22 +11:00
Clément Foucault
d7acabdef5
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"
2018-01-17 00:01:17 +01:00
Clément Foucault
2659500835
DRW: Codestyle refactor: Use macro to create shader libs.
...
This clears up the code from many DynStr usage. Easier to read.
2018-01-16 23:40:15 +01:00
Clément Foucault
96138daa2b
Eevee: SSR: Fix artifacts at object/background limits.
...
This should have a very small perf impact but it's needed.
2018-01-16 22:18:35 +01:00
Clément Foucault
213e34a6c3
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.
2018-01-16 19:40:17 +01:00
Clément Foucault
9fd28c7769
Eevee: AO: Removes samples and denoise options.
...
This comes with a lot of code simplification that leads to a small performance improvement.
2018-01-16 18:22:25 +01:00
Clément Foucault
c372113489
Eevee: Add macro to sample noise in utilTex.
...
Avoid future coding error.
2018-01-16 18:22:25 +01:00
Clément Foucault
5f569378d2
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.
2018-01-16 18:22:25 +01:00
Clément Foucault
9afeba330f
Eevee: Fix SSRefraction noise.
2018-01-16 18:22:24 +01:00
Clément Foucault
9365e966b4
Eevee: SSR: Enhance the halfres raytrace.
...
This make the halfres raytrace actually converge to an antialiased image by jittering the source pixel.
2018-01-16 18:22:24 +01:00
Clément Foucault
2221cdb517
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.
2018-01-16 18:22:24 +01:00
Clément Foucault
3cb2b2956b
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).
2018-01-16 18:22:24 +01:00
Clément Foucault
84c91be0a4
Eevee: Fix noise correlation in the blue noise update.
2018-01-16 18:22:24 +01:00
Clément Foucault
39af6c27f5
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.
2018-01-16 18:22:24 +01:00
Sergey Sharybin
9d1ae07d4f
Cleanup: Avoid ifdefs in multiple places
...
Define a helper macro. Makes code read easier.
2018-01-16 17:14:57 +01:00
Sergey Sharybin
d9eb17b18e
Cleanup: Remove deprecated enum flags
...
Those are not used anymore.
2018-01-16 17:11:47 +01:00
Sergey Sharybin
bf9460e3cf
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.
2018-01-16 17:11:47 +01:00
Bastien Montagne
55f97d1dd9
Static override: cleanup: name consistency.
2018-01-16 17:11:03 +01:00
Bastien Montagne
3cd8264505
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).
2018-01-16 17:11:03 +01:00
Bastien Montagne
72ec6dbb0b
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.
2018-01-16 17:11:03 +01:00
Sergey Sharybin
436eea2d93
Merge branch 'master' into blender2.8
2018-01-16 16:40:05 +01:00
Sergey Sharybin
b55111f8f6
Cleanup: Naming of depsgraph
2018-01-16 16:38:39 +01:00
Sybren A. Stüvel
4e0673927a
Alembic: don't explicitly pass NULL
2018-01-16 16:28:10 +01:00
Sybren A. Stüvel
6db0fd65ab
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.
2018-01-16 16:03:21 +01:00
Sergey Sharybin
c810df35b2
Draw manager: Cleanup, use full name for depsgraph variable
2018-01-16 15:58:39 +01:00
Sergey Sharybin
1ed06a1167
Draw manager: Make depsgraph a part of draw state
...
Makes it more explicit and avoids hash loookup when depsgraph is needed.
2018-01-16 15:42:03 +01:00
Sergey Sharybin
eea3506019
Draw manager: Make update context aware of what depsgraph causes update
2018-01-16 15:38:44 +01:00
Sergey Sharybin
1e0283828f
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.
2018-01-16 15:37:52 +01:00
Sergey Sharybin
263f614932
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.
2018-01-16 15:09:48 +01:00
Sergey Sharybin
d4ff1a1f2c
Merge branch 'master' into blender2.8
2018-01-16 14:52:43 +01:00
Sergey Sharybin
0bdb1eab82
Sculpting: Fix uninitialized color being left for smooth meshes with hidden mask
2018-01-16 14:46:48 +01:00
Sergey Sharybin
7934e7ab83
Sculpting: Fix for "Hide Mask" does not work with multires
2018-01-16 14:31:52 +01:00
Campbell Barton
379a752ee7
Manipulator: fix arrow offset in perspective view
...
Use 3D calculations instead of projecting into 2D space.
2018-01-16 23:38:27 +11:00
Sergey Sharybin
7df1983bf9
Fix compilation error
2018-01-16 12:48:33 +01:00
Sergey Sharybin
cfe6b83134
Merge branch 'master' into blender2.8
2018-01-16 12:07:43 +01:00
Sergey Sharybin
67e4b1d3e9
Fix missing node tree updates when unconnected node affects output via driver
...
Fixes T53794: Can't control color ramp node color values with drivers
2018-01-16 12:06:22 +01:00
Sergey Sharybin
0b500ba147
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.
2018-01-16 11:54:32 +01:00
Sergey Sharybin
45b5de9cb3
Depsgraph: Better relations name
2018-01-16 11:43:05 +01:00
Sergey Sharybin
1d763b5395
Depsgraph: Check for ID match when checking if operations corresponds to the same bone
2018-01-16 11:41:50 +01:00
Sergey Sharybin
b974d0da4d
Depsgraph: Cleanup, indentation
2018-01-16 11:40:02 +01:00
Sergey Sharybin
b667020310
Depsgraph: Cleanup, brace placement\
2018-01-16 11:38:44 +01:00
Campbell Barton
03223a5e7d
readfile: ensure blend header follows the spec
2018-01-16 20:02:32 +11:00
Campbell Barton
2346e0850f
Ruler Manipulator: dragging out of the view removes
...
Not ideal, but means we don't need to override Delete key.
2018-01-16 18:14:11 +11:00
Campbell Barton
fd80b83e8e
Manipulator: Support tweak removing the manipulator
2018-01-16 18:03:15 +11:00
Campbell Barton
873a87c7e8
Merge branch 'master' into blender2.8
2018-01-16 14:56:03 +11:00
Campbell Barton
e428ea3e00
Cleanup: indentation
2018-01-16 11:40:43 +11:00