Skip to content
  • Vlad Zahorodnii's avatar
    effects/wobblywindows: Allow model geometry and real geometry get out of sync · 33e3b929
    Vlad Zahorodnii authored
    Currently, the wobbly windows effect assumes that the window data will
    be updated on every repaint. However, there are legit cases when the
    time diff between frames can be 0, for example when per screen rendering
    is on.
    
    If we are unlucky enough and the geometry of the window changes in that
    very short moment, the mapping between window quads and the bezier
    patch will be wrong. The window will most likely bounce back and forth.
    
    In order to improve handling of that tricky case, this change makes the
    computeBezierPoint() function take the "uv" coordinates rather than the
    absolute "xy" coordinates of window vertices. This loosens the
    connection between the real geometry of the window and the cached bezier
    patch, and overall makes the effect's timing code more robust.
    
    This can be also useful if the wobbly windows effect starts accumulating
    time diffs and performing the integration step every N msecs with the
    purpose of maintaining...
    33e3b929