Viktor Vaczi
74faa7e249
fix(webgl): Fix alpha-blending with proper blend functions
...
Alpha-blended shapes were rendering nearly invisible due to incorrect
blend function configuration in two places:
1. FBO rendering (webgl_gal.cpp): Changed to glBlendFuncSeparate to handle
RGB and alpha channels independently. Alpha channel now accumulates
coverage correctly (prevents it from staying near 0.0 when rendering
with alpha=0.5).
2. Compositor (webgl_compositor.cpp): Changed from premultiplied alpha
blend (GL_ONE, GL_ONE_MINUS_SRC_ALPHA) to straight alpha blend
(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) since our FBOs use straight alpha.
Also marked Transform() as dead code with explanation - never called in
KiCad and has no effect even in native OPENGL_GAL.
Result: Alpha-blending scenario now renders correctly with proper color
mixing for overlapping shapes.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 14:47:20 +01:00
..
antialiasing.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
bitmap_font_desc.c
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
bitmap_font_img.c
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container_gpu.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container_gpu.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container_ram.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
cached_container_ram.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
fullscreen_quad.cpp
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
fullscreen_quad.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
gl_context_mgr.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
gl_context_mgr.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
gl_resources.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
gl_resources.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
gl_utils.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
gpu_manager.cpp
fix(webgl): Add VAO support for WebGL 2.0 rendering
2026-01-08 11:19:16 +01:00
gpu_manager.h
fix(webgl): Add VAO support for WebGL 2.0 rendering
2026-01-08 11:19:16 +01:00
kiglew.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
noncached_container.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
noncached_container.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
shader.cpp
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
shader.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
SmaaAreaTex.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
SmaaSearchTex.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
utils.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
utils.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_common.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_container.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_container.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_item.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_item.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_manager.cpp
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
vertex_manager.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
webgl_antialiasing.cpp
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
webgl_antialiasing.h
feat(webgl): Add WEBGL_GAL implementation (compiles, not yet rendering)
2026-01-07 21:04:42 +01:00
webgl_compositor.cpp
fix(webgl): Fix alpha-blending with proper blend functions
2026-01-09 14:47:20 +01:00
webgl_compositor.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00
webgl_gal.cpp
fix(webgl): Fix alpha-blending with proper blend functions
2026-01-09 14:47:20 +01:00
webgl_gal.h
feat(webgl): Replace legacy GL with modern OpenGL ES 3.0
2026-01-07 23:33:49 +01:00