Week 4: Camera animation, interpolation in GLSL, and a single Timeline!

m-agour
Published: 07/16/2022

What did you do this week?

  • Managed to implement a single Timeline using the Container class. So, instead of having two classes: Timeline and CompositeTimeline, now the Timeline can have multiple Timeline objects and controls them as in the code below
     

    main_timeline = Timeline()
    sub_timeline = Timeline(actors_list)
    main_timeline.add_timeline(sub_timeline)

     

  • Implemented the HSV, Lab, and XYZ color interpolators in GLSL.

  • Added support for animating two camera properties: position and focal position, which can be interpolated using any general Interpolator.

  • Allowed all actors inside all timelines to be added to the Scene automatically when the main (parent) Timeline is added to the Scene.

  • Fixed the PlaybackPanel, added a counter to display the animation time as in the video above, and added an option to attach a PlaybackPanel to the Timeline.
     

    main_timeline = Timeline(playback_panel=True)

     

What is coming up next week?

This week I will do the following:

  • Start Implementing slerp interpolation using quaternions in both Python and GLSL. And use slerp to apply camera rotation.

  • Add tests for the previous work.

  • Make a PR to merge the non-shader-based version of the Timeline.

  • Test how shader attributes can be used to hold keyframes for each vertex and benchmark it.

  • Study ‘colormaps’ and implement some ‘colormaps’ in GLSL.
     

Did you get stuck anywhere?

  • Uniforms don’t maintain their data after shaders are unbounded and another uniform with the same name in a different shader is set.

DJDT

Versions

Time

Settings from gsoc.settings

Headers

Request

SQL queries from 1 connection

Static files (2312 found, 3 used)

Templates (11 rendered)

Cache calls from 1 backend

Signals

Log messages