diff options
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders')
5 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl index 880f17b0c9d..e7ca868a4ff 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl @@ -31,9 +31,9 @@ void cavity_compute(vec2 screenco, /* find the offset in screen space by multiplying a point * in camera space at the depth of the point by the projection matrix. */ vec2 offset; - float homcoord = ProjectionMatrix[2][3] * position.z + ProjectionMatrix[3][3]; - offset.x = ProjectionMatrix[0][0] * world_data.cavity_distance / homcoord; - offset.y = ProjectionMatrix[1][1] * world_data.cavity_distance / homcoord; + float homcoord = drw_view.winmat[2][3] * position.z + drw_view.winmat[3][3]; + offset.x = drw_view.winmat[0][0] * world_data.cavity_distance / homcoord; + offset.y = drw_view.winmat[1][1] * world_data.cavity_distance / homcoord; /* convert from -1.0...1.0 range to 0.0..1.0 for easy use with texture coordinates */ offset *= 0.5; diff --git a/source/blender/draw/engines/workbench/shaders/workbench_effect_dof_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_effect_dof_frag.glsl index d8f8a1cc03f..11d7c85d43a 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_effect_dof_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_effect_dof_frag.glsl @@ -16,7 +16,7 @@ (dof_aperturesize * (dof_distance / zdepth - 1.0) * dof_invsensorsize) #define linear_depth(z) \ - ((ProjectionMatrix[3][3] == 0.0) ? \ + ((drw_view.winmat[3][3] == 0.0) ? \ (nearFar.x * nearFar.y) / (z * (nearFar.x - nearFar.y) + nearFar.y) : \ (z * 2.0 - 1.0) * nearFar.y) diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl index cfc94ef7c9a..04fef8d8b32 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl @@ -43,13 +43,13 @@ void workbench_hair_random_material(float rand, void main() { - bool is_persp = (ProjectionMatrix[3][3] == 0.0); + bool is_persp = (drw_view.winmat[3][3] == 0.0); float time, thick_time, thickness; vec3 world_pos, tan, binor; hair_get_pos_tan_binor_time(is_persp, ModelMatrixInverse, - ViewMatrixInverse[3].xyz, - ViewMatrixInverse[2].xyz, + drw_view.viewinv[3].xyz, + drw_view.viewinv[2].xyz, world_pos, tan, binor, diff --git a/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl index d8f1b83d747..213279b1913 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl @@ -24,7 +24,7 @@ float linear_zdepth(float depth, vec4 viewvecs[2], mat4 proj_mat) */ float calculate_transparent_weight(void) { - float z = linear_zdepth(gl_FragCoord.z, ViewVecs, ProjectionMatrix); + float z = linear_zdepth(gl_FragCoord.z, drw_view.viewvecs, drw_view.winmat); #if 0 /* Eq 10 : Good for surfaces with varying opacity (like particles) */ float a = min(1.0, alpha * 10.0) + 0.01; 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 49e26cd3e0c..afba3a0d784 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl @@ -237,7 +237,7 @@ void main() fragColor = vec4(Lscat, Tr); #else vec2 screen_uv = gl_FragCoord.xy / vec2(textureSize(depthBuffer, 0).xy); - bool is_persp = ProjectionMatrix[3][3] == 0.0; + bool is_persp = drw_view.winmat[3][3] == 0.0; vec3 volume_center = ModelMatrix[3].xyz; |