Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-10-17 18:41:55 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-10-17 18:41:55 +0300
commit3a3da6baa3e36577c2401069a0374d9a848e545e (patch)
tree22eac8c478d178fadb6e6683b682cdcbb7423ead
parent9378d46c4d33fbd71194170fa86f1ff3021ec973 (diff)
parent382e7ce9ecfbdc80853a250a57c0d8f25cf258fa (diff)
Merge branch 'blender-v2.81-release'
-rw-r--r--source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl3
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl6
2 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 511c243b474..f10d98e68bd 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -965,7 +965,8 @@ void main()
# ifndef USE_ALPHA_BLEND
float alpha_div = 1.0 / max(1e-8, alpha);
- outRadiance *= alpha_div;
+ outRadiance.rgb *= alpha_div;
+ outRadiance.a = 1.0;
ssrData.rgb *= alpha_div;
# ifdef USE_SSS
sssAlbedo.rgb *= alpha_div;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
index c24c335189e..c38d8fe06bc 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
@@ -213,14 +213,14 @@ void main()
vec3 vs_ray_dir = (is_persp) ? (vs_ray_end - vs_ray_ori) : vec3(0.0, 0.0, -1.0);
vs_ray_dir /= abs(vs_ray_dir.z);
- /* TODO(fclem) Precompute the matrix/ */
- vec3 ls_ray_dir = mat3(ViewMatrixInverse) * vs_ray_dir * OrcoTexCoFactors[1].xyz * 2.0;
- ls_ray_dir = mat3(ModelMatrixInverse) * ls_ray_dir;
+ vec3 ls_ray_dir = point_view_to_object(vs_ray_ori + vs_ray_dir);
vec3 ls_ray_ori = point_view_to_object(vs_ray_ori);
vec3 ls_ray_end = point_view_to_object(vs_ray_end);
+ ls_ray_dir = (OrcoTexCoFactors[0].xyz + ls_ray_dir * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
ls_ray_ori = (OrcoTexCoFactors[0].xyz + ls_ray_ori * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
ls_ray_end = (OrcoTexCoFactors[0].xyz + ls_ray_end * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
+ ls_ray_dir -= ls_ray_ori;
/* TODO: Align rays to volume center so that it mimics old behaviour of slicing the volume. */