SLA gizmo clipping plane logic moved to fragment shader

This means the clipping now works again with both legacy and modern OpenGL
This commit is contained in:
Lukas Matena 2019-03-25 12:01:02 +01:00
parent 273fcf68a1
commit 9b7857aaab
7 changed files with 41 additions and 38 deletions

View file

@ -8,16 +8,22 @@ varying vec2 intensity;
varying vec3 delta_box_min;
varying vec3 delta_box_max;
varying float world_z;
varying vec3 world_pos;
uniform vec4 uniform_color;
// x = min z, y = max z;
uniform vec2 z_range;
// clipping plane (general orientation):
uniform vec4 clipping_plane;
void main()
{
if ((world_z < z_range.x) || (z_range.y < world_z))
if ((world_pos.z < z_range.x) || (z_range.y < world_pos.z))
discard;
if (world_pos.x*clipping_plane.x + world_pos.y*clipping_plane.y + world_pos.z*clipping_plane.z + clipping_plane.w < 0.f )
discard;
// if the fragment is outside the print volume -> use darker color