You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
renderer/image: add interruptible transition rendering with custom shaders
Adds an animated wallpaper transition path to CImageElement: a two-texture
blend (start -> end) driven by fadeLayersIn/Out durations, with an optional
custom GLSL fragment shader supplied by path.
- CImageElement::transitionTo captures the in-flight blend to an FBO when a
transition is interrupted mid-way, using that as the new start texture so a
fresh transition can begin to the new target (no flicker, no black flash).
- IRenderer gains renderTransition / captureTransitionState / ensureTransitionShader.
Custom shaders are stat()-checked once at transition start and recompiled only
on mtime change; the per-frame render path is a single cache lookup + draw,
with no filesystem or compile work.
- CFramebuffer sets m_tex->m_size after glTexImage2D so captured textures report
the right size to the shader's tex1Size/tex2Size uniforms.
- A captured texture keeps its owning CFramebuffer alive via m_tempFramebuffer.
- All fit modes (stretch/cover/contain/tile) are honoured; the host pushes the
config duration to u_duration each frame (GLES cannot initialize uniforms).
0 commit comments