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>2022-10-06 22:14:30 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-10-07 13:43:09 +0300
commita775e42dee00d708ecd0725f8c04cf753b448425 (patch)
tree37156cadc66188d32424452d1f844731398d0610 /source/blender/draw/engines
parent8f96d0f73285a3f80a711588555650c696e2b726 (diff)
DRW: Use view_clipping_distances instead of world_clip_planes_set_clip_distance
No functional change. `view_clipping_distances` is prefered as it is auto masked.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl8
-rw-r--r--source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl36
-rw-r--r--source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl36
3 files changed, 10 insertions, 70 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl b/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl
index aee5087fc5a..87447b9d7ea 100644
--- a/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl
+++ b/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl
@@ -164,9 +164,7 @@ void main()
/* Improve AA bleeding inside bone silhouette. */
gl_Position.z -= (is_persp) ? 1e-4 : 1e-6;
edgeStart = edgePos = ((gl_Position.xy / gl_Position.w) * 0.5 + 0.5) * sizeViewport.xy;
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance(wPos[1].xyz);
-#endif
+ view_clipping_distances(wPos[1].xyz);
}
else {
gl_Position = pPos[2];
@@ -175,8 +173,6 @@ void main()
/* Improve AA bleeding inside bone silhouette. */
gl_Position.z -= (is_persp) ? 1e-4 : 1e-6;
edgeStart = edgePos = ((gl_Position.xy / gl_Position.w) * 0.5 + 0.5) * sizeViewport.xy;
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance(wPos[2].xyz);
-#endif
+ view_clipping_distances(wPos[2].xyz);
}
}
diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl
index 1318c91f286..64fad1c449e 100644
--- a/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl
+++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl
@@ -143,26 +143,6 @@ void main()
colorEditMeshMiddle.rgb, out_finalColor[1].rgb, facing1);
#endif
-#ifdef USE_WORLD_CLIP_PLANES
- float out_clipdistances0[6];
- float out_clipdistances1[6];
- vec4 clip_pos0 = vec4(world_pos0, 1.0);
- out_clipdistances0[0] = dot(WorldClipPlanes[0], clip_pos0);
- out_clipdistances0[1] = dot(WorldClipPlanes[1], clip_pos0);
- out_clipdistances0[2] = dot(WorldClipPlanes[2], clip_pos0);
- out_clipdistances0[3] = dot(WorldClipPlanes[3], clip_pos0);
- out_clipdistances0[4] = dot(WorldClipPlanes[4], clip_pos0);
- out_clipdistances0[5] = dot(WorldClipPlanes[5], clip_pos0);
-
- vec4 clip_pos1 = vec4(world_pos1, 1.0);
- out_clipdistances1[0] = dot(WorldClipPlanes[0], clip_pos1);
- out_clipdistances1[1] = dot(WorldClipPlanes[1], clip_pos1);
- out_clipdistances1[2] = dot(WorldClipPlanes[2], clip_pos1);
- out_clipdistances1[3] = dot(WorldClipPlanes[3], clip_pos1);
- out_clipdistances1[4] = dot(WorldClipPlanes[4], clip_pos1);
- out_clipdistances1[5] = dot(WorldClipPlanes[5], clip_pos1);
-#endif
-
// -------- GEOM SHADER ALTERNATIVE ----------- //
vec2 ss_pos[2];
@@ -210,27 +190,19 @@ void main()
/* Output specific Vertex data depending on quad_vertex_id. */
if (quad_vertex_id == 0) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_clipdistances0);
-#endif
+ view_clipping_distances(world_pos0);
do_vertex(out_finalColor[0], pos0, half_size, edge_ofs.xy);
}
else if (quad_vertex_id == 1 || quad_vertex_id == 3) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_clipdistances0);
-#endif
+ view_clipping_distances(world_pos0);
do_vertex(out_finalColor[0], pos0, -half_size, -edge_ofs.xy);
}
else if (quad_vertex_id == 2 || quad_vertex_id == 5) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_clipdistances1);
-#endif
+ view_clipping_distances(world_pos1);
do_vertex(final_color, pos1, half_size, edge_ofs.xy);
}
else if (quad_vertex_id == 4) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_clipdistances1);
-#endif
+ view_clipping_distances(world_pos1);
do_vertex(final_color, pos1, -half_size, -edge_ofs.xy);
}
}
diff --git a/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl b/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl
index 3272a9fa2ce..9b6591cc543 100644
--- a/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl
+++ b/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl
@@ -120,26 +120,6 @@ void main()
do_vertex_shader(out_pos0, base_vertex_id, ssPos[0], finalColor_geom[0]);
do_vertex_shader(out_pos1, base_vertex_id + 1, ssPos[0], finalColor_geom[0]);
- /* Calculate Vertex Clip distances. */
-#ifdef USE_WORLD_CLIP_PLANES
- float out_ClipDistance0[6];
-
- out_ClipDistance0[0] = dot(clipPlanes[0], out_pos0);
- out_ClipDistance0[1] = dot(clipPlanes[1], out_pos0);
- out_ClipDistance0[2] = dot(clipPlanes[2], out_pos0);
- out_ClipDistance0[3] = dot(clipPlanes[3], out_pos0);
- out_ClipDistance0[4] = dot(clipPlanes[4], out_pos0);
- out_ClipDistance0[5] = dot(clipPlanes[5], out_pos0);
-
- float out_ClipDistance1[6];
- out_ClipDistance1[0] = dot(clipPlanes[0], out_pos1);
- out_ClipDistance1[1] = dot(clipPlanes[1], out_pos1);
- out_ClipDistance1[2] = dot(clipPlanes[2], out_pos1);
- out_ClipDistance1[3] = dot(clipPlanes[3], out_pos1);
- out_ClipDistance1[4] = dot(clipPlanes[4], out_pos1);
- out_ClipDistance1[5] = dot(clipPlanes[5], out_pos1);
-#endif
-
/* Geometry shader alternative -- Output is trianglelist consisting of 6 vertices.
* Each vertex shader invocation is one vertex in the output primitive, so outptut
* required ID. */
@@ -150,36 +130,28 @@ void main()
float line_size = float(lineThickness) * sizePixel;
if (quad_vertex_id == 0) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_ClipDistance0);
-#endif
+ view_clipping_distances(out_pos0);
interp.color = finalColor_geom[0];
t = edge_dir * (line_size * (is_persp ? out_pos0.w : 1.0));
gl_Position = out_pos0 + vec4(t, 0.0, 0.0);
}
else if (quad_vertex_id == 1 || quad_vertex_id == 3) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_ClipDistance0);
-#endif
+ view_clipping_distances(out_pos0);
interp.color = finalColor_geom[0];
t = edge_dir * (line_size * (is_persp ? out_pos0.w : 1.0));
gl_Position = out_pos0 - vec4(t, 0.0, 0.0);
}
else if (quad_vertex_id == 2 || quad_vertex_id == 5) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_ClipDistance1);
-#endif
+ view_clipping_distances(out_pos1);
interp.color = finalColor_geom[1];
t = edge_dir * (line_size * (is_persp ? out_pos1.w : 1.0));
gl_Position = out_pos1 + vec4(t, 0.0, 0.0);
}
else if (quad_vertex_id == 4) {
-#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_set_clip_distance(out_ClipDistance1);
-#endif
+ view_clipping_distances(out_pos1);
interp.color = finalColor_geom[1];
t = edge_dir * (line_size * (is_persp ? out_pos1.w : 1.0));