wgui to use srgb

This commit is contained in:
galister
2025-12-27 02:49:11 +09:00
parent 1364a5cb2e
commit a44aa2e426
10 changed files with 40 additions and 31 deletions

View File

@@ -34,11 +34,11 @@ impl Default for Defaults {
dark_mode: true,
text_color: drawing::Color::new(1.0, 1.0, 1.0, 1.0),
button_color: drawing::Color::new(1.0, 1.0, 1.0, 0.05),
accent_color: drawing::Color::new(0.0, 0.54, 1.0, 1.0),
danger_color: drawing::Color::new(0.8, 0.0, 0.0, 1.0),
faded_color: drawing::Color::new(0.4, 0.5, 0.6, 1.0),
bg_color: drawing::Color::new(0.0039, 0.0078, 0.0235, 0.8352),
translucent_alpha: 0.25,
accent_color: drawing::Color::new(0.13, 0.68, 1.0, 1.0),
danger_color: drawing::Color::new(0.9, 0.0, 0.0, 1.0),
faded_color: drawing::Color::new(0.67, 0.74, 0.80, 1.0),
bg_color: drawing::Color::new(0.0, 0.07, 0.1, 0.75),
translucent_alpha: 0.5,
animation_mult: 1.0,
rounding_mult: 1.0,
}

View File

@@ -390,10 +390,10 @@ impl ParserContext<'_> {
&$field.with_alpha($alpha).to_hex(),
);
$self.insert_var(concat!("color_", $name, "_50"), &$field.mult_rgb(0.50).to_hex());
$self.insert_var(concat!("color_", $name, "_40"), &$field.mult_rgb(0.40).to_hex());
$self.insert_var(concat!("color_", $name, "_30"), &$field.mult_rgb(0.30).to_hex());
$self.insert_var(concat!("color_", $name, "_20"), &$field.mult_rgb(0.20).to_hex());
$self.insert_var(concat!("color_", $name, "_10"), &$field.mult_rgb(0.10).to_hex());
$self.insert_var(concat!("color_", $name, "_5"), &$field.mult_rgb(0.05).to_hex());
$self.insert_var(concat!("color_", $name, "_1"), &$field.mult_rgb(0.01).to_hex());
};
}

View File

@@ -13,6 +13,7 @@ layout(location = 0) out vec4 out_color;
#define UNIFORM_PARAMS_SET 0
#include "uniform.glsl"
#include "srgb.glsl"
layout(set = 2, binding = 0) uniform sampler2D image;
@@ -52,4 +53,5 @@ void main() {
// rounding cutout alpha
out_color.a *= 1.0 - smoothstep(-pixel_size, 0.0, sdf);
}
out_color.rgb = to_srgb(out_color.rgb);
}

View File

@@ -14,6 +14,7 @@ layout(location = 0) out vec4 out_color;
#define UNIFORM_PARAMS_SET 0
#include "uniform.glsl"
#include "srgb.glsl"
void main() {
float rect_aspect = in_rect_size.x / in_rect_size.y;
@@ -51,4 +52,5 @@ void main() {
// rounding cutout alpha
out_color.a *= 1.0 - smoothstep(-pixel_size, 0.0, sdf);
}
out_color.rgb = to_srgb(out_color.rgb);
}

View File

@@ -0,0 +1,6 @@
vec3 to_srgb(in vec3 in_color) {
bvec3 cutoff = lessThan(in_color, vec3(0.04045));
vec3 higher = pow((in_color + vec3(0.055))/vec3(1.055), vec3(2.4));
vec3 lower = in_color/vec3(12.92);
return mix(higher, lower, cutoff);
}

View File

@@ -12,6 +12,8 @@ layout(location = 0) out vec4 out_color;
layout(set = 0, binding = 0) uniform sampler2D color_atlas;
layout(set = 1, binding = 0) uniform sampler2D mask_atlas;
#include "srgb.glsl"
void main() {
if (in_content_type == 0u) {
out_color = texture(color_atlas, in_uv) * in_color;
@@ -19,4 +21,5 @@ void main() {
out_color.rgb = in_color.rgb;
out_color.a = in_color.a * texture(mask_atlas, in_uv).r;
}
out_color.rgb = to_srgb(out_color.rgb);
}