Commit Graph

14 Commits

Author SHA1 Message Date
ed 3113e4137b fix(shader): Disable frosted glass - OpenGL context issues
The frosted glass effect crashes with GLError 1282 'invalid operation'
when calling glDrawArrays. This is likely due to missing VAO setup
or OpenGL context issues in the hello_imgui/imgui-bundle environment.

DISABLED the effect by default to allow the app to run.
Feature needs proper OpenGL VAO setup to work.
2026-03-13 21:24:14 -04:00
ed cf5eac8c43 fix(gui): Guard against invalid display_size in blur pipeline init
- Remove _init_blur_pipeline call from _post_init (display_size invalid at startup)
- Add validation for ws.x > 0 and ws.y > 0 before FBO creation
- Add validation for fb_scale > 0 with default fallback to 1.0
- Make _init_blur_pipeline return bool for success/failure
- Update plan.md to reflect current progress

Fixes crash: GLError(err=1281, description=b'invalid value')
2026-03-13 21:08:13 -04:00
ed e6a57cddc2 conductor(plan): Mark Phase 3 Task 1 complete, begin Tasks 2-3 2026-03-13 20:46:59 -04:00
ed 5416546207 conductor(plan): Mark Phase 2 complete, begin Phase 3 2026-03-13 20:39:20 -04:00
ed 9c2078ad78 feat(shader): Add prepare_global_blur and high-DPI scaling support
- Add prepare_global_blur() method combining Deep Sea render + blur
- Add fb_scale parameter to setup_fbos() for high-DPI display support
- FBOs now created at scaled resolution (width * fb_scale, height * fb_scale)
- prepare_global_blur() auto-initializes FBOs if scale changes
- Add test_blur_pipeline_prepare_global_blur
- Add test_blur_pipeline_high_dpi_scaling

Task: Phase 2, Tasks 1-2 of frosted_glass_20260313 track
2026-03-13 20:38:03 -04:00
ed ab44102bad conductor(plan): Mark task 'Wide tap Gaussian blur' as complete 2026-03-13 20:28:42 -04:00
ed c8b7fca368 feat(shader): Expand Gaussian blur to 13-tap wide distribution
- Update horizontal and vertical blur shaders from 9-tap to 13-tap kernel
- Use Gaussian weights with sigma=3.5 for creamier 'milky' blur effect
- Add test_blur_pipeline_wide_tap_distribution to verify >= 11 texture samples
- Weights: [0.0152, 0.0300, 0.0525, 0.0812, 0.1110, 0.1342, 0.1432] (symmetric)

Task: Phase 1, Task 3 of frosted_glass_20260313 track
2026-03-13 20:28:12 -04:00
ed b3e6590cb4 conductor(plan): Mark task 'Deep Sea background shader' as complete 2026-03-13 20:25:57 -04:00
ed d85dc3a1b3 feat(shader): Add Deep Sea background shader for BlurPipeline
- Add compile_deepsea_shader() with animated underwater-like GLSL shader
- Add render_deepsea_to_fbo() to render background to scene FBO
- Deep Sea shader features: FBM noise, animated blobs, caustic lines, vignette
- Add deepsea_program to cleanup() for proper resource management
- Add 2 new tests for Deep Sea shader compilation and FBO rendering

Task: Phase 1, Task 2 of frosted_glass_20260313 track
2026-03-13 20:25:26 -04:00
ed 2947948ac6 conductor(plan): Mark task 'BlurPipeline FBO setup' as complete 2026-03-13 20:22:43 -04:00
ed d9148acb0c feat(shader): Add BlurPipeline class for frosted glass FBO setup
- Add BlurPipeline class with downsampled FBO support (scene, blur_a, blur_b)
- Implement 2-pass Gaussian blur shaders (horizontal + vertical)
- Add setup_fbos(), compile_blur_shaders(), prepare_blur(), cleanup() methods
- Add tests for BlurPipeline initialization, FBO setup, shader compilation, blur execution, and cleanup

Task: Phase 1, Task 1 of frosted_glass_20260313 track
2026-03-13 20:22:16 -04:00
ed 1a8efa880a tired 2026-03-13 20:12:56 -04:00
ed 11eb69449d dumb ai 2026-03-13 19:46:23 -04:00
ed 879e0991c9 chore(conductor): Add new track 'Frosted Glass Background Effect' 2026-03-13 14:40:43 -04:00