Clément Foucault
0831099664
Eevee: Principled BSDF: add support for specular tint + optimisation
...
Only use clearcoat version if there is something linked or if the clearcoat value is not 0.
2017-06-30 14:12:25 +02:00
Clément Foucault
178c470c43
Eevee: Fix specular shadowing.
...
Compute luminance approximation instead of using green channel.
This is to match cycles principled bsdf.
2017-06-30 14:10:42 +02:00
Luca Rood
1b4bd1c84e
Fix T51118: Outliner crash when unlinking collection
...
The outliner tree was not being rebuilt after unlinking a collection,
and thus a dangling pointer to the collection was kept in the tree.
2017-06-30 12:32:18 +02:00
Campbell Barton
1a6ae0c70e
DwM: Use GWN_vertbuf_raw_* access for shading data
...
Gives approx 14% speedup here.
2017-06-30 18:31:04 +10:00
Campbell Barton
34e4948682
Fix T51919: Tangents need UV's allocated
2017-06-30 17:48:18 +10:00
Campbell Barton
bc347f6015
Merge branch 'master' into blender2.8
2017-06-30 13:46:53 +10:00
Campbell Barton
9210a4faf3
Fix unpredictable trackball rotation
...
D2729 by @IgorNull
Currently, trackball rotation sequentially applies rotation across x axis and y axis,
which produces a strange/unusable result on diagonal pointer motion.
This change fixes the problem by using a single axis which is orthogonal
and proportional to mouse delta - matching view-port trackball.
2017-06-30 11:10:05 +10:00
Campbell Barton
eb88f0c321
Workaround T51934: Array's > SHRT_MAX aren't supported
2017-06-30 10:10:22 +10:00
Clément Foucault
cdb07ff30e
Eevee: Fix broken default coordinate (reported via IRC by Dalai Felinto).
2017-06-29 20:23:06 +02:00
Dalai Felinto
98c8b5a6fb
No need to free all the shaders when appending or reloading libraries
...
To recompile all the shaders is expensive. And something to be avoided at all costs.
It was needed before because for every new lamp in the file we needed to
recompile the shaders. Now this is no longer required since we are using
UBOs for the sahders.
2017-06-29 19:07:21 +02:00
Dalai Felinto
2c62493891
Eevee: No need to free all the gpu materials when world changes.
...
We have a world probe that is used to prevent exactly that.
2017-06-29 18:57:06 +02:00
Luca Rood
7c72079381
Fix hair shading after Eevee shader refactor
2017-06-29 18:45:11 +02:00
Clément Foucault
90e16b8e03
Eevee: Fix world probe with world without nodetree.
2017-06-29 17:32:13 +02:00
Clément Foucault
5e96df7d27
Eevee: Remove Geometry shader usage for background.
...
This fix the behaviour of the light path node that separates the probes background from the viewport background.
2017-06-29 17:08:13 +02:00
Clément Foucault
790b15112b
Eevee: Fix T51922: Avoid division by 0.
...
Problem was caused by a division by 0 when rendering the probes. This patch make the visibility equal to 1.0 in this case.
2017-06-29 17:08:13 +02:00
Clément Foucault
95797336f5
Eevee: Prepare support for future Anisotropic shading.
2017-06-29 17:08:13 +02:00
Clément Foucault
3888227a7b
material Glsl: Fix tangent with new orco.
2017-06-29 17:08:13 +02:00
Campbell Barton
2eca054e14
Remove dupli-group support for non-empty objects
...
Behavior for mixing object-data & dupli data was confusing,
exporters and render engines often got it wrong.
2017-06-30 00:03:08 +10:00
Luca Rood
f39d06589e
Fix warnings in draw_cache_impl files
2017-06-29 15:46:00 +02:00
Bastien Montagne
0210c6b9de
Fix T51890: Turning off viewport display for array modifier is blocking dupliface in final render
...
DupliVert/Face were not using render DM at render time.
2017-06-29 15:44:00 +02:00
Luca Rood
b606161458
Fix T51821: Viewport not updating when switching worlds
2017-06-29 14:49:46 +02:00
Campbell Barton
916344b49e
Fix error getting the tangent layer name
2017-06-29 21:24:09 +10:00
Luca Rood
db71df4f3f
Fix world not updating when changing node links
...
When changing node links for the world material, a redraw of the
viewport was not being triggered.
2017-06-29 12:28:25 +02:00
Campbell Barton
fd3589e4c9
DwM: optimize mesh batch conversion
...
- Replace GWN_vertbuf_attr_set with Gwn_VertBufRaw & GWN_vertbuf_raw_step
to avoid intermediate copy.
- Avoid extra conversion step with: float[3] -> short[3] -> Gwn_PackedNormal.
We can skip the short[3].
Gives approx 6% speedup here.
2017-06-29 20:11:16 +10:00
Campbell Barton
2343dcf0d2
Gawain: Use common prefix for packed normal
2017-06-29 18:54:23 +10:00
Bastien Montagne
2113dbb013
Merge branch 'master' into blender2.8
...
Conflicts:
source/blender/editors/space_outliner/outliner_select.c
2017-06-29 10:11:17 +02:00
Bastien Montagne
a57a7975a1
Fix T51926: Selecting pose icon under expanded group in outliner causes crash.
...
Cannot switch uninstantiated armature to Pose mode...
2017-06-29 10:09:58 +02:00
Campbell Barton
10c887762a
DwM: no need to calculate face normal
2017-06-29 15:52:08 +10:00
Campbell Barton
abd9d50faa
Cleanup: quiet negative shift warning
2017-06-29 15:34:50 +10:00
Campbell Barton
f6bb3262f1
DwM: add CD_AUTO_FROM_NAME for mesh conversion
2017-06-29 15:23:47 +10:00
Campbell Barton
15079b0b43
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.
2017-06-29 12:19:22 +10:00
Clément Foucault
e14fd19105
Eevee: Add Initial support for Principle BRDF.
...
Lots of things not working yet but it's comming.
2017-06-29 01:47:59 +02:00
Clément Foucault
8d57f4e3c6
Eevee: Remove ShadingData struct.
...
That was a bad idea after all.
2017-06-29 01:47:59 +02:00
Campbell Barton
2117334737
Fix assert calculating tangents with no faces
2017-06-29 07:57:23 +10:00
Clément Foucault
a1a40bfe70
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.
2017-06-28 22:26:44 +02:00
Clément Foucault
beb375cdb2
GPU_codegen: Fix geometry shader.
2017-06-28 21:28:24 +02:00
Clément Foucault
ada6e720f9
GPU_codegen: Add support for passing attributes through the geometry stage.
...
Should fix some issues with missing attributes in Eevee.
2017-06-28 21:05:43 +02:00
Bastien Montagne
b5696f2799
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.
2017-06-28 20:50:21 +02:00
Clément Foucault
26b699a105
Eevee: Fix shader linking error.
2017-06-28 18:28:52 +02:00
Clément Foucault
b6a2d255c3
Eevee: Fix Shadow Map bug: fix T51924
2017-06-28 17:21:57 +02:00
Clément Foucault
03b915d711
Eevee: Fix Shader compilation on certain driver.
2017-06-28 16:51:31 +02:00
Clément Foucault
6d0dbd3169
Probe: Irradiance Volume: Fix default clip start.
2017-06-28 16:32:08 +02:00
Clément Foucault
1982e724f4
Eevee: Refactor of shading code to be more modular.
...
This will enable creating shading models more easily.
2017-06-28 16:32:08 +02:00
Luca Rood
0782c9f8dc
Fix T51920: Invalidate draw cache when changing object origin
2017-06-28 14:58:25 +02:00
Bastien Montagne
16eca8f47e
Fix own really stupid mistake/typo in previous commit...
2017-06-28 13:21:04 +02:00
Bastien Montagne
2c0ee61f6d
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.
2017-06-28 10:53:52 +02:00
Campbell Barton
4a061a87e6
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.
2017-06-28 13:44:28 +10:00
Campbell Barton
e78c0840f2
DwM: create eevee materials before the mesh
...
To know which custom-data layers will be needed in the mesh.
No functional change yet.
2017-06-28 13:36:55 +10:00
Campbell Barton
fc3d0da2fd
DWM: Fix own error checking wrong layer type
...
Would calculate all tangents for every UV layer.
2017-06-28 11:39:05 +10:00
Campbell Barton
87dd9c31a0
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.
2017-06-28 10:59:25 +10:00