checkpoint: progressing on frosted glass panels

This commit is contained in:
2026-03-13 16:09:52 -04:00
parent 5b196dccf0
commit 0e0b185290
4 changed files with 344 additions and 127 deletions

View File

@@ -4,8 +4,8 @@ import OpenGL.GL as gl
def test_shader_manager_fbo_initialization():
with patch("src.shader_manager.gl") as mock_gl:
mock_gl.glGenFramebuffers.return_value = 1
mock_gl.glGenTextures.return_value = 2
mock_gl.glGenFramebuffers.side_effect = [1, 2]
mock_gl.glGenTextures.side_effect = [3, 4]
mock_gl.glCheckFramebufferStatus.return_value = mock_gl.GL_FRAMEBUFFER_COMPLETE
from src.shader_manager import ShaderManager
@@ -13,15 +13,19 @@ def test_shader_manager_fbo_initialization():
manager.setup_capture_fbo(800, 600)
assert manager.capture_fbo == 1
assert manager.capture_tex == 2
assert mock_gl.glGenFramebuffers.called
assert mock_gl.glGenTextures.called
assert mock_gl.glCheckFramebufferStatus.called
assert manager.scene_fbo == 1
assert manager.blur_fbo == 2
assert manager.scene_tex == 3
assert manager.blur_tex == 4
assert mock_gl.glGenFramebuffers.call_count == 2
assert mock_gl.glGenTextures.call_count == 2
assert mock_gl.glCheckFramebufferStatus.call_count == 2
def test_shader_manager_capture_lifecycle():
with patch("src.shader_manager.gl") as mock_gl:
mock_gl.glCheckFramebufferStatus.return_value = mock_gl.GL_FRAMEBUFFER_COMPLETE
mock_gl.glGenFramebuffers.side_effect = [1, 2]
mock_gl.glGenTextures.side_effect = [3, 4]
from src.shader_manager import ShaderManager
manager = ShaderManager()
@@ -29,7 +33,8 @@ def test_shader_manager_capture_lifecycle():
manager.capture_begin(1024, 768)
assert manager.fbo_width == 1024
assert manager.fbo_height == 768
assert mock_gl.glBindFramebuffer.called
# Should bind the blur FBO
mock_gl.glBindFramebuffer.assert_any_call(mock_gl.GL_FRAMEBUFFER, manager.blur_fbo)
mock_gl.glBindFramebuffer.reset_mock()
manager.capture_end()