8462a2fde7
- Added SymptomManager autoload for managing symptom intensities. - Introduced nausea tilt effect for camera roll based on nausea intensity. - Created color desaturation shader and overlay for visual feedback. - Developed TreatmentManager to handle nausea ramping during IV treatment. - Added hospital room scene with first-person controller and interactions. - Implemented sit-down interaction for the treatment chair. - Created IV insertion sequence with animations and completion signal. - Added player controller with movement and interaction capabilities. - Integrated nausea effects into the player experience with smooth transitions.
18 lines
619 B
Plaintext
18 lines
619 B
Plaintext
shader_type canvas_item;
|
|
// Full-screen nausea desaturation.
|
|
// Samples the screen, converts to luminance, and blends back toward grayscale
|
|
// based on the `desaturation` uniform (0 = full color, 1 = full grayscale).
|
|
|
|
uniform sampler2D screen_tex : hint_screen_texture, filter_linear_mipmap;
|
|
uniform float desaturation : hint_range(0.0, 1.0) = 0.0;
|
|
|
|
// Rec. 709 luma weights.
|
|
const vec3 LUMA = vec3(0.2126, 0.7152, 0.0722);
|
|
|
|
void fragment() {
|
|
vec3 col = texture(screen_tex, SCREEN_UV).rgb;
|
|
float gray = dot(col, LUMA);
|
|
vec3 result = mix(col, vec3(gray), clamp(desaturation, 0.0, 1.0));
|
|
COLOR = vec4(result, 1.0);
|
|
}
|