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>2019-05-26 22:32:48 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-27 13:58:14 +0300
commit554af9c6895f772ce5fdeb4aa4172c43b997b669 (patch)
tree0dd620156f061174a7822c0818a33f01af91fccb /source/blender/draw
parent577d3498b4d4d3b747e184550378bc7d77e72b60 (diff)
Cleanup: DRW: Make clipped shader use UBO clip planes
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/intern/draw_manager_data.c4
-rw-r--r--source/blender/draw/modes/shaders/common_view_lib.glsl8
2 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 9b131e68ae0..c3b905323cc 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -874,11 +874,9 @@ static void drw_shgroup_init(DRWShadingGroup *shgroup, GPUShader *shader)
drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_VIEWPROJECTION_INV, storage->persinv, 16, 1);
drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_PROJECTION, storage->winmat, 16, 1);
drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_PROJECTION_INV, storage->wininv, 16, 1);
+ drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_CLIPPLANES, storage->clipplanes, 4, 6);
}
- drw_shgroup_builtin_uniform(
- shgroup, GPU_UNIFORM_CLIPPLANES, DST.view_storage_cpy.clipplanes, 4, 6);
-
/* Not supported. */
BLI_assert(GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_MODELVIEW_INV) == -1);
BLI_assert(GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_MODELVIEW) == -1);
diff --git a/source/blender/draw/modes/shaders/common_view_lib.glsl b/source/blender/draw/modes/shaders/common_view_lib.glsl
index 845c615c75c..20a54947db7 100644
--- a/source/blender/draw/modes/shaders/common_view_lib.glsl
+++ b/source/blender/draw/modes/shaders/common_view_lib.glsl
@@ -1,3 +1,5 @@
+#define COMMON_VIEW_LIB
+
/* keep in sync with DRWManager.view_data */
layout(std140) uniform viewBlock
{
@@ -15,6 +17,12 @@ layout(std140) uniform viewBlock
vec4 CameraTexCoFactors;
};
+#ifdef world_clip_planes_calc_clip_distance
+# undef world_clip_planes_calc_clip_distance
+# define world_clip_planes_calc_clip_distance(p) \
+ _world_clip_planes_calc_clip_distance(p, clipPlanes)
+#endif
+
uniform mat4 ModelMatrix;
uniform mat4 ModelMatrixInverse;