Week 4: Camera animation, interpolation in GLSL, and a single Timeline!
What did you do this week?
-
Managed to implement a single
Timeline
using theContainer
class. So, instead of having two classes:Timeline
andCompositeTimeline
, now theTimeline
can have multipleTimeline
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 theScene
automatically when the main (parent)Timeline
is added to theScene
. -
Fixed the
PlaybackPanel
, added a counter to display the animation time as in the video above, and added an option to attach aPlaybackPanel
to theTimeline
.
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.