Week 4: Camera animation, interpolation in GLSL, and a single Timeline!
What did you do this week?
-
Managed to implement a single
Timelineusing theContainerclass. So, instead of having two classes:TimelineandCompositeTimeline, now theTimelinecan have multipleTimelineobjects 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
actorsinside all timelines to be added to theSceneautomatically when the main (parent)Timelineis 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 aPlaybackPanelto 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.