feat: Implement nausea symptom system and related features
- 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.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user