Semester 2, Week 06‐07 Post - 62firelight/manimRT-490 GitHub Wiki
What's New
- Polished test renders
- Wrote a Getting Started section
- Generated a Reference Manual section
- Put together the Example Gallery section
- Created a simple class diagram for use in the Reference Manual section
- Briefly looked into ManimGL -- with some promising results
Brief Look into ManimGL
I looked into ManimGL -- Grant Sanderson's version of Manim.
While brief, my initial experience with ManimGL was pretty positive. I was able to move a 3D sphere and a 3D line around using an interactive command line window. I could type an animation such as self.play(FadeIn(sphere))
and ManimGL would render the animation in a couple of seconds. It seems much easier to get a good looking 3D animation up and running compared to the OpenGL renderer in Manim's community edition.
Observed Issues
I did notice a few issues:
- Minimizing the render window would cause it to minimize and prevent me from bringing it back up. I had to restart the interactive command line window to actually see the render window again.
- The render window has a habit of locking up whenever I minimize it.
- There isn't an Arrow3D equivalent (or Cone3D equivalent) from what I can tell. This may be an issue when it comes to drawing rays, though I could make a custom Mobject to render the cone parametrically?
I was not able to get the example scenes working. This may have been because I was working on a computer in the labs, so I may try on my own computer and see if it actually works.
Conclusion (for now)
From a first glance, ManimGL looks like it could be an effective option for reducing the render speeds of animations. However, there are some issues (as noted above) that prevent it from having the same level of functionality as in Manim's community edition. Therefore, some work would be required to get it up to the same level of functionality, but I'm not currently sure how much work would be required here. I would have to test ManimGL on my own computer to get a fuller picture of ManimGL's capabilities.
Questions
- Is the current level of documentation sufficient for the evaluation?
- For the final report, should I explicitly state my research questions (potential examples below)?
Potential Research Questions
- How viable is a Manim plugin for creating animations that are targeted towards teaching ray tracing concepts?
- From an animation development standpoint, what are the advantages and disadvantages of ManimRT compared to other animation tools such as Blender and Manim (without ManimRT)?
- How would animations created using ManimRT compare to existing educational ray tracing resources such as Rayground? (non-programmers are likely to find it easier to engage with animations instead of programming)
What's Next
- Improve recordings of script for video (ideally re-record when I don't sound sick)
- Synchronize recording of script with animations
- Think hard about evaluation and the kinds of questions that the evaluation would answer
- Work on final report (reframe report, figure out how to fit in new sections, etc)