Skip to content

Commit 45afef3

Browse files
DarylgoldenPhotonSpheresbehackl
authored
Added documentation explaining the differences between manim versions (#1268)
* Added documentation explaining the differences between manim versions * Attempt to fix link * Attempt to fix link again * Attempt to fix link yet again * Attempt to fix more links * more fix attempts * Apply suggestions from code review Co-authored-by: Oliver <[email protected]> * Uncapitalized Manim * fix * Add link to manimgl documentation * make names of different manim versions (more) consistent Co-authored-by: Oliver <[email protected]> Co-authored-by: Benjamin Hackl <[email protected]>
1 parent 60a9058 commit 45afef3

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

docs/source/installation.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ The following pages have instructions that are specific to your system. Once
66
you are done installing the dependencies, come back to this page to install
77
manim itself.
88

9+
.. NOTE::
10+
Before installing manim, you should understand that there are a few main versions of manim
11+
today that are generally incompatible with each other.
12+
This documentation **only** covers the installation of the *community edition*;
13+
trying to use instructions intended for other versions of manim or vice versa will likely result in failure.
14+
In particular, most video tutorials are outdated. For more information, please read :doc:`Differences between Manim Versions <installation/versions>`.
15+
916
Installing dependencies
1017
***********************
1118

docs/source/installation/versions.rst

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
Differences between Manim Versions
2+
==================================
3+
4+
While originally a single library, there are now three main versions of manim,
5+
each with their own advantages, disadvantages and ideal use cases.
6+
It is important to understand these differences in order to select the best version
7+
for your use case and avoid confusion arising from version mismatches.
8+
9+
A brief history of Manim
10+
************************
11+
12+
Manim was originally created by Grant Sanderson as a personal project and
13+
for use in his YouTube channel, `3Blue1Brown <https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw>`_. As his channel gained popularity,
14+
many grew to like the style of his animations and wanted to use manim for their own projects.
15+
However, as manim was only intended for personal use,
16+
it was very difficult for other users to install and use it.
17+
18+
In late 2019, Grant started working on faster OpenGL rendering in a new branch,
19+
known as the shaders branch. In mid 2020, a group of developers forked it into what is now the community edition;
20+
this is the version which is documented by this website.
21+
In early 2021, Grant merged the shaders branch back into master, making it the default branch in his repository.
22+
The old version is still available as the branch ``cairo-backend``.
23+
24+
The three versions of Manim
25+
****************************
26+
27+
There are currently three main versions of manim. They are as follows:
28+
29+
- **ManimCE**: The community edition of manim. This is the version documented by this website, and is named `manim <https://pypi.org/project/manim/https://pypi.org/project/manim/>`_ on pip.
30+
- `ManimGL <https://github.com/3b1b/manim>`_: The current version of manim that is used by 3blue1brown. It supports OpenGL rendering and interactivity, and is named ``manimgl`` on pip. You can find documentation for it `here <https://3b1b.github.io/manim/index.html>`_.
31+
- `ManimCairo <https://github.com/3b1b/manim/tree/cairo-backend>`_: The old version of manim originally used by 3blue1brown. It is not available on pip.
32+
33+
Which version to use
34+
********************
35+
We recommend using the community edition for most purposes, as it has been developed to be more stable,
36+
better tested, quicker to respond to community contributions, and easier for beginners to use.
37+
It also has partial experimental OpenGL support, and should have full support shortly (as of April, 2021).
38+
39+
If you would like to use a version with full OpenGL support or render recent 3Blue1Brown videos (2020 onwards), you should use ManimGL.
40+
41+
If you would like to render old 3Blue1Brown projects (2019 and before), you should use ManimCairo.
42+
43+
Notes on installation, documentation and use
44+
********************************************
45+
If you are a beginner, it is very important that you only use the documentation for your desired version.
46+
Trying to install or learn manim using documentation or guides made for different versions will likely fail and only lead to more confusion.
47+
As many tutorials and guides on the internet are outdated, we do not recommend you follow them.
48+
You should only read tutorials and documentation for other versions once you are aware of the differences between them
49+
and know how to adapt code for your desired version.

0 commit comments

Comments
 (0)