Posts by Mohamed Abouagour
Google Summer of Code Final Work Product
- 29 January 2023
Name: Mohamed Abouagour
Week 14: Keyframes animation is now a bit easier in FURY
- 28 September 2022
Timeline into a
Timeline and an
Animation. So, instead of having the
Timeline do everything. It’s now more like doing animations in Blender and other 3D editing software where the timeline handles the playback of several animations #694.
Week 13: Keyframes animation is now a bit easier in FURY
- 20 September 2022
Added the ability to have the ShowManager stored inside the Timeline. That way the user does not have to update and render the animations because it will be done internally.
Week 12: Adding new tutorials
- 07 September 2022
Restructured tutorials to be more readable and more focused on a specific topic.
Week 11: Improving tutorials a little
- 30 August 2022
Fixed some issues in the hierarchical order animation support PR that we discussed during last week’s meeting (mostly naming issues).
Week 10: Supporting hierarchical animating
- 23 August 2022
Implemented hierarchical order support for animations using matrices in this PR.
Week 9: Animating primitives of the same actor
- 16 August 2022
Made two tutorials in this PR that show two approaches on how to animate primitives of the same FURY actor using the
Week 8: Back to the shader-based version of the Timeline
- 09 August 2022
First, I made some modifications to the main animation PR. Then as Filipi requested, I integrated the vertex shader that I was implementing a few weeks ago to work with the new improved version of the
Week 7: Billboard spheres and implementing interpolators using closures
- 01 August 2022
Restructured the keyframe animation interpolators using closures to be functions instead of classes #647. Now it is easier to implement new interpolators with the help of the functions existing in fury/animation/helpers.py. Also, now unit tests can be added for the latter functions.
Week 6: Fixing the Timeline issues and equipping it with more features
- 25 July 2022
PlaybackPanel by adding speed control and the ability to loop the animation. Also, fixed the lagging issue of play and pause buttons and composed them into a single play/pause button.
Week 5: Slerp implementation, documenting the Timeline, and adding unit tests
- 19 July 2022
Implemented Slerp (spherical linear interpolation) for rotation keyframes.
Week 4: Camera animation, interpolation in GLSL, and a single Timeline!
- 11 July 2022
Managed to implement a single
Timeline using the
Container class. So, instead of having two classes:
CompositeTimeline, now the
Timeline can have multiple
Timeline objects and controls them as in the code below.
Week 3: Redesigning the API, Implementing cubic Bezier Interpolator, and making progress on the GPU side!
- 04 July 2022
Redesigned the keyframe animations API to optimize having a lot of timelines by composing them into a parent
CompositeTimeline while maintaining playing individual timelines separately.
Week 2: Implementing non-linear and color interpolators
- 28 June 2022
Implemented some other general interpolators such as n-th degree spline and cubic spline interpolators. Also implemented HSV and LAB color interpolators.
Week 1: Implementing a basic Keyframe animation API
- 19 June 2022
During the community bonding period, we had weekly meetings in which I got to know the mentors better and bonded with Shivam and Praneeth, my fellow contributors. We talked about the importance of open-source contribution and discussed scientific visualization, how important it is and how it differs from game engines despite having some similarities. We also discussed how important the code review is and how to do a proper code review.
My journey till getting accepted into GSoC22
- 23 May 2022
My name is Mohamed and I’m from Egypt. I am pursuing a Bachelor of Engineering in Computer Engineering and Automatic Control (expected: 2023), Tanta University, Egypt.