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.