Fix T70678 Workbench: Smoke Sim display has incorrect offset

Fix the ray direction computation.
This commit is contained in:
Clément Foucault 2019-10-17 17:40:21 +02:00
parent 4142f3993c
commit 382e7ce9ec
Notes: blender-bot 2024-03-25 12:30:38 +01:00
Referenced by issue #88665, Impossible to weight paint certain vertices
Referenced by issue #70678, smoke sim glitch in solidmode
1 changed files with 3 additions and 3 deletions

View File

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