diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-10-05 22:54:10 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-10-07 13:43:09 +0300 |
commit | 055680a89e4b37662daf0c397539866a42c6d54a (patch) | |
tree | b0a6f4926f4ba72bbf323c1c4eca5799cc55e045 /source/blender/draw/intern/shaders/common_intersect_lib.glsl | |
parent | f43c2d9abe0f8b6efca8fa803774a065a6749a88 (diff) |
DRW: Split ViewCullingData out of ViewInfos
This is in order to reduce the size of ViewInfos and support multi view
rendering.
Diffstat (limited to 'source/blender/draw/intern/shaders/common_intersect_lib.glsl')
-rw-r--r-- | source/blender/draw/intern/shaders/common_intersect_lib.glsl | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/blender/draw/intern/shaders/common_intersect_lib.glsl b/source/blender/draw/intern/shaders/common_intersect_lib.glsl index 83223f89277..d1416e220a4 100644 --- a/source/blender/draw/intern/shaders/common_intersect_lib.glsl +++ b/source/blender/draw/intern/shaders/common_intersect_lib.glsl @@ -135,7 +135,7 @@ bool intersect_view(Pyramid pyramid) for (int p = 0; p < 6; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 5; ++v) { - float test = dot(drw_view.frustum_planes[p], vec4(pyramid.corners[v], 1.0)); + float test = dot(drw_view_culling.planes[p], vec4(pyramid.corners[v], 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -157,7 +157,7 @@ bool intersect_view(Pyramid pyramid) for (int p = 0; p < 5; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 8; ++v) { - float test = dot(i_pyramid.planes[p], vec4(drw_view.frustum_corners[v].xyz, 1.0)); + float test = dot(i_pyramid.planes[p], vec4(drw_view_culling.corners[v].xyz, 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -180,7 +180,7 @@ bool intersect_view(Box box) for (int p = 0; p < 6; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 8; ++v) { - float test = dot(drw_view.frustum_planes[p], vec4(box.corners[v], 1.0)); + float test = dot(drw_view_culling.planes[p], vec4(box.corners[v], 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -202,7 +202,7 @@ bool intersect_view(Box box) for (int p = 0; p < 6; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 8; ++v) { - float test = dot(i_box.planes[p], vec4(drw_view.frustum_corners[v].xyz, 1.0)); + float test = dot(i_box.planes[p], vec4(drw_view_culling.corners[v].xyz, 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -226,7 +226,7 @@ bool intersect_view(IsectBox i_box) for (int p = 0; p < 6; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 8; ++v) { - float test = dot(drw_view.frustum_planes[p], vec4(i_box.corners[v], 1.0)); + float test = dot(drw_view_culling.planes[p], vec4(i_box.corners[v], 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -246,7 +246,7 @@ bool intersect_view(IsectBox i_box) for (int p = 0; p < 6; ++p) { bool is_any_vertex_on_positive_side = false; for (int v = 0; v < 8; ++v) { - float test = dot(i_box.planes[p], vec4(drw_view.frustum_corners[v].xyz, 1.0)); + float test = dot(i_box.planes[p], vec4(drw_view_culling.corners[v].xyz, 1.0)); if (test > 0.0) { is_any_vertex_on_positive_side = true; break; @@ -267,7 +267,7 @@ bool intersect_view(Sphere sphere) bool intersects = true; for (int p = 0; p < 6 && intersects; ++p) { - float dist_to_plane = dot(drw_view.frustum_planes[p], vec4(sphere.center, 1.0)); + float dist_to_plane = dot(drw_view_culling.planes[p], vec4(sphere.center, 1.0)); if (dist_to_plane < -sphere.radius) { intersects = false; } |