mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Add draw-range behaviour to legacy-mode shaders.
This commit is contained in:
parent
f486177465
commit
51c5572f0f
2 changed files with 28 additions and 0 deletions
|
@ -13,9 +13,11 @@ vertex =
|
|||
attribute highp vec4 a_vertex;
|
||||
attribute lowp vec4 a_color;
|
||||
attribute lowp vec4 a_material_color;
|
||||
attribute highp float a_vertex_index;
|
||||
|
||||
varying lowp vec4 v_color;
|
||||
varying float v_line_type;
|
||||
varying highp float v_vertex_index;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
@ -28,6 +30,7 @@ vertex =
|
|||
}
|
||||
|
||||
v_line_type = a_line_type;
|
||||
v_vertex_index = a_vertex_index;
|
||||
}
|
||||
|
||||
fragment =
|
||||
|
@ -40,14 +43,21 @@ fragment =
|
|||
#endif // GL_ES
|
||||
varying lowp vec4 v_color;
|
||||
varying float v_line_type;
|
||||
varying highp float v_vertex_index;
|
||||
|
||||
uniform int u_show_travel_moves;
|
||||
uniform int u_show_helpers;
|
||||
uniform int u_show_skin;
|
||||
uniform int u_show_infill;
|
||||
|
||||
uniform highp vec2 u_drawRange;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (u_drawRange.x >= 0 && u_drawRange.y >= 0 && (v_vertex_index < u_drawRange.x || v_vertex_index > u_drawRange.y))
|
||||
{
|
||||
discard;
|
||||
}
|
||||
if ((u_show_travel_moves == 0) && (v_line_type >= 7.5) && (v_line_type <= 9.5)) { // actually, 8 and 9
|
||||
// discard movements
|
||||
discard;
|
||||
|
@ -88,10 +98,13 @@ u_show_helpers = 1
|
|||
u_show_skin = 1
|
||||
u_show_infill = 1
|
||||
|
||||
u_drawRange = [-1, -1]
|
||||
|
||||
[bindings]
|
||||
u_modelMatrix = model_matrix
|
||||
u_viewMatrix = view_matrix
|
||||
u_projectionMatrix = projection_matrix
|
||||
u_drawRange = draw_range
|
||||
|
||||
[attributes]
|
||||
a_vertex = vertex
|
||||
|
@ -99,3 +112,4 @@ a_color = color
|
|||
a_extruder = extruder
|
||||
a_line_type = line_type
|
||||
a_material_color = material_color
|
||||
a_vertex_index = vertex_index
|
||||
|
|
|
@ -13,9 +13,11 @@ vertex =
|
|||
attribute highp vec4 a_vertex;
|
||||
attribute lowp vec4 a_color;
|
||||
attribute lowp vec4 a_material_color;
|
||||
attribute highp float a_vertex_index;
|
||||
|
||||
varying lowp vec4 v_color;
|
||||
varying float v_line_type;
|
||||
varying highp float v_vertex_index;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
@ -28,6 +30,7 @@ vertex =
|
|||
// }
|
||||
|
||||
v_line_type = a_line_type;
|
||||
v_vertex_index = a_vertex_index;
|
||||
}
|
||||
|
||||
fragment =
|
||||
|
@ -40,14 +43,21 @@ fragment =
|
|||
#endif // GL_ES
|
||||
varying lowp vec4 v_color;
|
||||
varying float v_line_type;
|
||||
varying highp float v_vertex_index;
|
||||
|
||||
uniform int u_show_travel_moves;
|
||||
uniform int u_show_helpers;
|
||||
uniform int u_show_skin;
|
||||
uniform int u_show_infill;
|
||||
|
||||
uniform highp vec2 u_drawRange;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (u_drawRange.x >= 0 && u_drawRange.y >= 0 && (v_vertex_index < u_drawRange.x || v_vertex_index > u_drawRange.y))
|
||||
{
|
||||
discard;
|
||||
}
|
||||
if ((u_show_travel_moves == 0) && (v_line_type >= 7.5) && (v_line_type <= 9.5))
|
||||
{ // actually, 8 and 9
|
||||
// discard movements
|
||||
|
@ -92,10 +102,13 @@ u_show_helpers = 1
|
|||
u_show_skin = 1
|
||||
u_show_infill = 1
|
||||
|
||||
u_drawRange = [-1, -1]
|
||||
|
||||
[bindings]
|
||||
u_modelMatrix = model_matrix
|
||||
u_viewMatrix = view_matrix
|
||||
u_projectionMatrix = projection_matrix
|
||||
u_drawRange = draw_range
|
||||
|
||||
[attributes]
|
||||
a_vertex = vertex
|
||||
|
@ -103,3 +116,4 @@ a_color = color
|
|||
a_extruder = extruder
|
||||
a_line_type = line_type
|
||||
a_material_color = material_color
|
||||
a_vertex_index = vertex_index
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue