[Bf-blender-cvs] [382e7ce9ecf] blender-v2.81-release: Fix T70678 Workbench: Smoke Sim display has incorrect offset

Clément Foucault noreply at git.blender.org
Thu Oct 17 17:40:56 CEST 2019


Commit: 382e7ce9ecfbdc80853a250a57c0d8f25cf258fa
Author: Clément Foucault
Date:   Thu Oct 17 17:40:21 2019 +0200
Branches: blender-v2.81-release
https://developer.blender.org/rB382e7ce9ecfbdc80853a250a57c0d8f25cf258fa

Fix T70678 Workbench: Smoke Sim display has incorrect offset

Fix the ray direction computation.

===================================================================

M	source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl

===================================================================

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. */



More information about the Bf-blender-cvs mailing list