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.