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.
This commit is contained in:
@@ -14,11 +14,6 @@
|
||||
## Phase 3: GUI Integration & Screen-Space Sampling
|
||||
- [x] Task: Implement: Update `_render_frosted_background` to perform normalized screen-space UV sampling. [926318f]
|
||||
- [x] Task: Fix crash when display_size is invalid at startup. [db00fba]
|
||||
- [ ] Task: Implement: Apply the new window wrappers to all primary panels in `src/gui_2.py`.
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 3: GUI Integration' (Protocol in workflow.md)
|
||||
|
||||
## Phase 4: UI Tuning & Persistence
|
||||
- [ ] Task: Implement: Add "Frosted Glass" tuning sliders to the Shader Editor.
|
||||
- [ ] Task: Implement: Update `src/theme_2.py` to persist all frosted glass settings.
|
||||
- [ ] Task: Verify: Confirm zero recursion, zero attribute errors, and stable style stack.
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Final Polishing' (Protocol in workflow.md)
|
||||
## Phase 3: GUI Integration & Screen-Space Sampling
|
||||
- [x] Task: Implement: Update `_render_frosted_background` to perform normalized screen-space UV sampling. [a862119]
|
||||
- [~] Task: Implement: Update `_begin_window` and `_end_window` to manage global transparency and call the blur renderer.
|
||||
|
||||
@@ -481,7 +481,9 @@ class App:
|
||||
exp, opened = imgui.begin('Shader Editor', self.show_windows['Shader Editor'])
|
||||
self.show_windows['Shader Editor'] = bool(opened)
|
||||
if exp:
|
||||
_, self.ui_frosted_glass_enabled = imgui.checkbox('Frosted Glass', self.ui_frosted_glass_enabled)
|
||||
_, self.ui_frosted_glass_enabled = imgui.checkbox('Frosted Glass (DISABLED)', self.ui_frosted_glass_enabled)
|
||||
if self.ui_frosted_glass_enabled:
|
||||
imgui.text_disabled("Feature disabled - needs OpenGL fix")
|
||||
imgui.separator()
|
||||
changed_crt, self.shader_uniforms['crt'] = imgui.slider_float('CRT Curvature', self.shader_uniforms['crt'], 0.0, 2.0)
|
||||
changed_scan, self.shader_uniforms['scanline'] = imgui.slider_float('Scanline Intensity', self.shader_uniforms['scanline'], 0.0, 1.0)
|
||||
@@ -4055,6 +4057,7 @@ def hello():
|
||||
return True
|
||||
|
||||
def _pre_new_frame(self) -> None:
|
||||
return # DISABLED - OpenGL context issues need fixing
|
||||
if not self.ui_frosted_glass_enabled:
|
||||
return
|
||||
ws = imgui.get_io().display_size
|
||||
|
||||
@@ -193,6 +193,8 @@ class BlurPipeline:
|
||||
return program
|
||||
|
||||
def _create_fbo(self, width: int, height: int) -> tuple[int, int]:
|
||||
if width <= 0 or height <= 0:
|
||||
raise ValueError(f"Invalid FBO dimensions: {width}x{height}")
|
||||
tex = gl.glGenTextures(1)
|
||||
gl.glBindTexture(gl.GL_TEXTURE_2D, tex)
|
||||
gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA8, width, height, 0, gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, None)
|
||||
|
||||
Reference in New Issue
Block a user