3b1b / manim

Animation engine for explanatory math videos
MIT License
60.94k stars 5.72k forks source link

Manim current status and contribution guidelines #1243

Open TonyCrane opened 3 years ago

TonyCrane commented 3 years ago

Hello everyone, I will explain the current status of manim in this issue.

Now there are three main manim versions, and their differences:

  1. The master branch of 3b1b/manim: Rendering on GPU using OpenGL and moderngl. Support interaction and have higher efficiency.
  2. ManimCommunity/manim: (@ManimCommunity is being improved and will be released on pypi) Using multiple backend rendering. There is better documentation and a more open contribution community.
  3. The cairo-backend branch of 3b1b/manim: Rendering on the CPU using cairo. Relatively stable, no longer be developed.

If you want to contribute to manim:

Lastly, thank you very much for using manim and willing to contribute. Enjoy yourself ! 😄

qo4on commented 3 years ago

What is the current status of the shaders branch?

TonyCrane commented 3 years ago

What is the current status of the shaders branch?

3b1b is making and perfecting the manim in the shaders branch, which will be faster. But there may be some problems and not stable at present. If you have the ability to solve the problems you met, you can try to use it. But for the pull requests for shaders branch, 3b1b may handle it by himself, in other words, it will make you wait for a long time and may not be merged.

ShrirangPatil commented 3 years ago

In Android, their is no way of making animation or graphs easily, can we use this library to make graphs and animations in android apps??

iliya-malecki commented 3 years ago

In Android, their is no way of making animation or graphs easily, can we use this library to make graphs and animations in android apps??

Well, it is a python library, and the development of shaders branch says a bit about the current goals of the projct, i.e. efficiency. Python does not like jvms. The only semi-optimal way to run python on a jvm is using Jython, which is also not exactly efficient. So even if you wrote some wrappers (that i can't imagine writing) to output complete video or link the code with android solutions for generating video (if there are any), it would be a bad time using it. And it would not align with the apparent goals of the project

qo4on commented 3 years ago

@ShrirangPatil Run Manim in Colab from your Android phone.

3b1b commented 3 years ago

What is the current status of the shaders branch?

It is now merged as the new master.

naveen521kk commented 3 years ago

Update: ManimCE has partial support for OpenGL rendering https://docs.manim.community/en/stable/changelog/0.5.0-changelog.html

stevehorse commented 2 years ago

why could be such situation: self.play(grid.animate.apply_function............ then it shows ( AttributeError: 'NumberPlane' object has no attribute 'animate')

TonyCrane commented 2 years ago

why could be such situation: self.play(grid.animate.apply_function............ then it shows ( AttributeError: 'NumberPlane' object has no attribute 'animate')

Please open a new issue. I guess you are using the old version of 3b1b/manim.

cklim24 commented 4 months ago

Hello everyone, I will explain the current status of manim in this issue.

Now there are three main manim versions, and their differences:

  1. The master branch of 3b1b/manim: Rendering on GPU using OpenGL and moderngl. Support interaction and have higher efficiency.
  2. ManimCommunity/manim: (@ManimCommunity is being improved and will be released on pypi) Using multiple backend rendering. There is better documentation and a more open contribution community.
  3. The cairo-backend branch of 3b1b/manim: Rendering on the CPU using cairo. Relatively stable, no longer be developed.

If you want to contribute to manim:

Lastly, thank you very much for using manim and willing to contribute. Enjoy yourself ! 😄