mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-01-31 00:48:41 +03:00
update resources
This commit is contained in:
@@ -30,6 +30,10 @@ struct SlopeDetection
|
||||
};
|
||||
|
||||
uniform vec4 uniform_color;
|
||||
uniform bool use_color_clip_plane;
|
||||
uniform vec4 uniform_color_clip_plane_1;
|
||||
uniform vec4 uniform_color_clip_plane_2;
|
||||
uniform vec4 color_clip_plane;
|
||||
uniform SlopeDetection slope;
|
||||
|
||||
//QDS: add outline_color
|
||||
@@ -60,6 +64,13 @@ void main()
|
||||
vec3 color = uniform_color.rgb;
|
||||
float alpha = uniform_color.a;
|
||||
|
||||
if (use_color_clip_plane){
|
||||
float color_clip_plane_dot = dot(world_pos, color_clip_plane);
|
||||
vec4 full_color = (color_clip_plane_dot < EPSILON) ? uniform_color_clip_plane_1 : uniform_color_clip_plane_2;
|
||||
color = full_color.rgb;
|
||||
alpha = full_color.a;
|
||||
}
|
||||
|
||||
if (slope.actived) {
|
||||
if(world_pos.z<0.1&&world_pos.z>-0.1)
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ struct PrintVolumeDetection
|
||||
uniform vec4 uniform_color;
|
||||
uniform float emission_factor;
|
||||
uniform PrintVolumeDetection print_volume;
|
||||
uniform vec4 full_print_volume;
|
||||
// x = diffuse, y = specular;
|
||||
varying vec2 intensity;
|
||||
varying vec4 world_pos;
|
||||
@@ -30,12 +31,18 @@ void main()
|
||||
vec3 pv_check_min = ZERO;
|
||||
vec3 pv_check_max = ZERO;
|
||||
if (print_volume.type == 0) {// rectangle
|
||||
pv_check_min = world_pos.xyz - vec3(print_volume.xy_data.x, print_volume.xy_data.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(print_volume.xy_data.z, print_volume.xy_data.w, print_volume.z_data.y);
|
||||
|
||||
pv_check_min = world_pos.xyz - vec3(full_print_volume.x, full_print_volume.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(full_print_volume.z, full_print_volume.w, print_volume.z_data.y);
|
||||
pv_check_min = pv_check_min * ONE_OVER_EPSILON;
|
||||
pv_check_max = pv_check_max * ONE_OVER_EPSILON;
|
||||
color = (any(lessThan(pv_check_min, vec3(1.0))) || any(greaterThan(pv_check_max, vec3(1.0)))) ? mix(color, WHITE, 0.3333) : color;
|
||||
if (all(greaterThan(pv_check_min, vec3(1.0))) && all(lessThan(pv_check_max, vec3(1.0)))) {
|
||||
pv_check_min = world_pos.xyz - vec3(print_volume.xy_data.x, print_volume.xy_data.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(print_volume.xy_data.z, print_volume.xy_data.w, print_volume.z_data.y);
|
||||
|
||||
pv_check_min = pv_check_min * ONE_OVER_EPSILON;
|
||||
pv_check_max = pv_check_max * ONE_OVER_EPSILON;
|
||||
color = (any(lessThan(pv_check_min, vec3(1.0))) || any(greaterThan(pv_check_max, vec3(1.0)))) ? mix(color, WHITE, 0.3333) : color;
|
||||
}
|
||||
}
|
||||
else if (print_volume.type == 1) {// circle
|
||||
float delta_radius = print_volume.xy_data.z - distance(world_pos.xy, print_volume.xy_data.xy);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#version 110
|
||||
|
||||
uniform sampler2D Texture;
|
||||
uniform sampler2D s_texture;
|
||||
|
||||
varying vec2 Frag_UV;
|
||||
varying vec4 color;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = color * texture2D(Texture, Frag_UV.st);
|
||||
gl_FragColor = color * texture2D(s_texture, Frag_UV.st);
|
||||
}
|
||||
@@ -30,6 +30,10 @@ struct SlopeDetection
|
||||
};
|
||||
|
||||
uniform vec4 uniform_color;
|
||||
uniform bool use_color_clip_plane;
|
||||
uniform vec4 uniform_color_clip_plane_1;
|
||||
uniform vec4 uniform_color_clip_plane_2;
|
||||
uniform vec4 color_clip_plane;
|
||||
uniform SlopeDetection slope;
|
||||
|
||||
//QDS: add outline_color
|
||||
@@ -62,6 +66,13 @@ void main()
|
||||
vec3 color = uniform_color.rgb;
|
||||
float alpha = uniform_color.a;
|
||||
|
||||
if (use_color_clip_plane){
|
||||
float color_clip_plane_dot = dot(world_pos, color_clip_plane);
|
||||
vec4 full_color = (color_clip_plane_dot < EPSILON) ? uniform_color_clip_plane_1 : uniform_color_clip_plane_2;
|
||||
color = full_color.rgb;
|
||||
alpha = full_color.a;
|
||||
}
|
||||
|
||||
if (slope.actived) {
|
||||
if(world_pos.z<0.1&&world_pos.z>-0.1)
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ struct PrintVolumeDetection
|
||||
uniform vec4 uniform_color;
|
||||
uniform float emission_factor;
|
||||
uniform PrintVolumeDetection print_volume;
|
||||
uniform vec4 full_print_volume;
|
||||
// x = diffuse, y = specular;
|
||||
in vec2 intensity;
|
||||
in vec4 world_pos;
|
||||
@@ -32,12 +33,18 @@ void main()
|
||||
vec3 pv_check_min = ZERO;
|
||||
vec3 pv_check_max = ZERO;
|
||||
if (print_volume.type == 0) {// rectangle
|
||||
pv_check_min = world_pos.xyz - vec3(print_volume.xy_data.x, print_volume.xy_data.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(print_volume.xy_data.z, print_volume.xy_data.w, print_volume.z_data.y);
|
||||
|
||||
pv_check_min = world_pos.xyz - vec3(full_print_volume.x, full_print_volume.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(full_print_volume.z, full_print_volume.w, print_volume.z_data.y);
|
||||
pv_check_min = pv_check_min * ONE_OVER_EPSILON;
|
||||
pv_check_max = pv_check_max * ONE_OVER_EPSILON;
|
||||
color = (any(lessThan(pv_check_min, vec3(1.0))) || any(greaterThan(pv_check_max, vec3(1.0)))) ? mix(color, WHITE, 0.3333) : color;
|
||||
if (all(greaterThan(pv_check_min, vec3(1.0))) && all(lessThan(pv_check_max, vec3(1.0)))) {
|
||||
pv_check_min = world_pos.xyz - vec3(print_volume.xy_data.x, print_volume.xy_data.y, print_volume.z_data.x);
|
||||
pv_check_max = world_pos.xyz - vec3(print_volume.xy_data.z, print_volume.xy_data.w, print_volume.z_data.y);
|
||||
|
||||
pv_check_min = pv_check_min * ONE_OVER_EPSILON;
|
||||
pv_check_max = pv_check_max * ONE_OVER_EPSILON;
|
||||
color = (any(lessThan(pv_check_min, vec3(1.0))) || any(greaterThan(pv_check_max, vec3(1.0)))) ? mix(color, WHITE, 0.3333) : color;
|
||||
}
|
||||
}
|
||||
else if (print_volume.type == 1) {// circle
|
||||
float delta_radius = print_volume.xy_data.z - distance(world_pos.xy, print_volume.xy_data.xy);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#version 140
|
||||
|
||||
uniform sampler2D Texture;
|
||||
uniform sampler2D s_texture;
|
||||
|
||||
in vec2 Frag_UV;
|
||||
in vec4 color;
|
||||
@@ -8,5 +8,5 @@ in vec4 color;
|
||||
out vec4 frag_color;
|
||||
void main()
|
||||
{
|
||||
frag_color = color * texture(Texture, Frag_UV.st);
|
||||
frag_color = color * texture(s_texture, Frag_UV.st);
|
||||
}
|
||||
Reference in New Issue
Block a user