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
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
7dc9e42721
Missing from last commit
2017-06-29 20:33:24 +10: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
34566aa969
Gawain: add method of stepping over data directly
...
This avoids using GWN_vertbuf_attr_set which needs to calculate the
offset and perform a memcpy every call.
Exposing the data directly allows us to avoid a memcpy in some cases
and means we can write to the vertex buffer's memory directly.
2017-06-29 20:09:05 +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
Lukas Stockner
1f3fd8e60a
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.
2017-06-28 21:32:02 +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
Campbell Barton
037876659f
Fix own error removing texface
...
Setting the name crashed with NULL poly layer.
2017-06-28 10:23:27 +10:00
Campbell Barton
87a95558a0
Fix own error removing texface
...
Using pointer offsets from different arrays
2017-06-28 10:11:49 +10:00
Campbell Barton
df70e3de63
DWM: separate tangents from UV conversion
...
Prepare for different number of UV/Tangent layers.
2017-06-28 09:55:40 +10:00
Campbell Barton
dbaa6c2aa2
GPU: GPU_generate_pass_new now takes vertex-attrs
...
Needed so we can tell which custom-data layers to use from the mesh.
2017-06-28 09:37:44 +10:00
Luca Rood
2ed82d2e6b
Fix missing globalsBlock in edit mode latice drawing
...
This was causing lattice vertices not to be drawn.
2017-06-27 18:40:39 +02:00
Dalai Felinto
f11bcbed9d
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 c31f74de6b .
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.
2017-06-27 16:56:43 +02:00