Closed uwezi closed 1 year ago
Benjamin Hackl's demonstration code for the opengl renderer does not run anymore in ManimCE 0.17.1. The (first?) error message is
AttributeError: 'OpenGLSurface' object has no attribute 'shader_wrapper'
Same error occurs in a Jupyter notebook and trying to run the code from the command line.
The changelog for v0.17.0 and v0.17.1 don't list any relevant incompatibility issues.
Just take the example code from the description of the youtube tutorial
Confirmed bug. Introduced in https://github.com/ManimCommunity/manim/pull/2900/commits/71a2f76ef6982520651dcfa231ed42b38e66c208.
Description of bug / unexpected behavior
Benjamin Hackl's demonstration code for the opengl renderer does not run anymore in ManimCE 0.17.1. The (first?) error message is
Same error occurs in a Jupyter notebook and trying to run the code from the command line.
The changelog for v0.17.0 and v0.17.1 don't list any relevant incompatibility issues.
How to reproduce the issue
Just take the example code from the description of the youtube tutorial
Code for reproducing the problem
```py from manim import * from manim.opengl import * class OpenGLIntro(Scene): def construct(self): hello_world = Tex("Hello World!").scale(3) self.play(Write(hello_world)) self.play( self.camera.animate.set_euler_angles( theta=-10*DEGREES, phi=50*DEGREES ) ) self.play(FadeOut(hello_world)) surface = OpenGLSurface( lambda u, v: (u, v, u*np.sin(v) + v*np.cos(u)), u_range=(-3, 3), v_range=(-3, 3) ) surface_mesh = OpenGLSurfaceMesh(surface) self.play(Create(surface_mesh)) self.play(FadeTransform(surface_mesh, surface)) self.wait() light = self.camera.light_source self.play(light.animate.shift([0, 0, -20])) self.play(light.animate.shift([0, 0, 10])) self.play(self.camera.animate.set_euler_angles(theta=60*DEGREES)) ```Additional media files
Images/GIFs
Logs
Terminal output
[log on pastebin](https://pastebin.com/btpVVXfw)System specifications
System Details
- OS Windows 10 - Python version 3.9.8 - Installed modules (provide output from `pip list`): ``` Package Version --------------------------------- ------------------------- adodbapi 2.6.1.3 affine 2.3.0 aiofiles 0.6.0 aiohttp 3.8.0 aiosignal 1.2.0 aiosqlite 0.17.0 alabaster 0.7.12 algopy 0.5.7 altair 4.1.0 altair-data-server 0.4.1 altair-transform 0.2.0 altair-widgets 0.2.2 altgraph 0.17.2 amply 0.1.4 aniso8601 7.0.0 ansiwrap 0.8.4 anyio 3.3.4 apng 0.3.4 appdirs 1.4.4 argon2-cffi 21.1.0 arrow 1.2.1 asciitree 0.3.3 asgi-csrf 0.9 asgiref 3.4.1 asn1crypto 1.4.0 asteval 0.9.25 astor 0.8.1 astroid 2.6.6 astroML 1.0.1 astropy 4.3.1 async-generator 1.10 async-timeout 4.0.0 atomicwrites 1.4.0 attrs 21.2.0 autopep8 1.5.7 azure-cognitiveservices-speech 1.24.2 Babel 2.9.1 backcall 0.2.0 backports-abc 0.5 backports.entry-points-selectable 1.1.0 baresql 0.7.6 base58 2.0.0 bcrypt 3.2.0 beautifulsoup4 4.10.0 binaryornot 0.4.4 black 21.9b0 bleach 4.1.0 blinker 1.4 blis 0.7.5 blosc 1.10.6 bloscpack 0.16.0 bokeh 2.4.1 botorch 0.4.0 Bottleneck 1.3.2 bqplot 0.12.31 branca 0.4.2 brewer2mpl 1.4.1 Brotli 1.0.9 bs4 0.0.1 cached-property 1.5.2 cachelib 0.3.0 cachetools 4.2.4 cairocffi 1.3.0 Cartopy 0.20.1 catalogue 2.0.6 certifi 2021.10.8 cffi 1.15.0 cftime 1.5.1.1 chardet 4.0.0 charset-normalizer 2.0.7 click 8.1.3 click-default-group 1.2.2 click-plugins 1.1.1 cligj 0.7.2 cloudpickle 2.0.0 cloup 0.13.1 clrmagic 0.0.1a2 colorama 0.4.4 colorcet 2.0.6 colour 0.1.5 commonmark 0.9.1 comtypes 1.1.14 cookiecutter 1.7.3 coverage 6.1.1 cramjam 2.4.0 cryptography 35.0.0 cssselect 1.1.0 csvs-to-sqlite 1.2 cvxopt 1.2.7 cvxpy 1.1.15 cx-Freeze 6.5.3 cycler 0.11.0 cymem 2.0.6 Cython 0.29.24 cytoolz 0.11.0 dash 2.0.0 dash-core-components 2.0.0 dash-html-components 2.0.0 dash-table 5.0.0 dask 2021.11.0 dask-glm 0.2.0 dask-image 0.6.0 dask-labextension 5.1.0 dask-ml 2021.10.17 dask-searchcv 0.2.0 databases 0.4.1 datasette 0.59.1 datasette-graphql 1.5 datashader 0.13.0 datashape 0.5.2 dateparser 1.1.0 dateutils 0.6.12 db.py 0.5.4b1 debugpy 1.5.1 decorator 5.1.0 defusedxml 0.7.1 Deprecated 1.2.13 deprecation 2.1.0 descartes 1.1.0 diff-match-patch 20200713 distlib 0.3.3 distributed 2021.11.0 distro 1.7.0 docopt 0.6.2 docrepr 0.1.1 docutils 0.17.1 ecos 2.0.7.post1 emcee 3.1.1 entrypoints 0.3 et-xmlfile 1.1.0 ExifRead 3.0.0 fake-useragent 0.1.11 fast-histogram 0.10 fastai 2.5.3 fastapi 0.70.0 fastcore 1.3.27 fastdownload 0.0.5 fasteners 0.16.3 fastparquet 0.7.1 fastprogress 1.0.0 feather-format 0.4.1 ffmpeg 1.4 filelock 3.3.2 Fiona 1.8.20 flake8 3.9.2 Flask 2.0.2 flask-accepts 0.18.4 Flask-Compress 1.10.1 Flask-Cors 3.0.10 Flask-Mail 0.9.1 flask-restx 0.5.1 Flask-Session 0.4.0 Flask-SQLAlchemy 2.5.1 flaskerize 0.14.0 flatbuffers 2.0 flit 3.4.0 flit_core 3.4.0 folium 0.12.1 fonttools 4.27.1 formlayout 1.2.1a1 frozenlist 1.2.0 fs 2.4.13 fsspec 2021.11.0 future 0.18.2 fuzzywuzzy 0.18.0 GDAL 3.3.3 geographiclib 1.52 geopandas 0.10.2 geopy 2.2.0 geoviews 1.9.2 gitdb 4.0.9 GitPython 3.1.24 glcontext 2.3.4 gmpy2 2.0.8 gpxpy 1.5.0 gpytorch 1.5.1 graphene 2.1.9 graphql-core 2.3.1 graphql-relay 2.0.1 great-expectations 0.13.41 greenlet 1.1.2 gTTS 2.3.0 guidata 1.8.1a0 guiqwt 3.0.7 h11 0.12.0 h2 4.1.0 h5py 3.5.0 HeapDict 1.0.1 holoviews 1.14.6 hpack 4.0.0 html5lib 1.1 httpcore 0.13.7 httpie 2.6.0 httpx 0.20.0 humanhash3 0.0.6 hupper 1.10.3 husl 4.0.3 hvplot 0.7.3 Hypercorn 0.11.2 hyperframe 6.0.1 hypothesis 6.24.0 ibis-framework 2.0.0 idlex 1.18 idna 3.1 imageio 2.10.3 imageio-ffmpeg 0.4.2 imagesize 1.2.0 imbalanced-learn 0.8.1 importlib-metadata 4.8.0 inflection 0.5.1 iniconfig 1.1.1 intake 0.6.2 intervaltree 3.0.2 ipycanvas 0.9.1 ipykernel 6.5.0 ipyleaflet 0.14.0 ipympl 0.8.2 ipython 7.29.0 ipython-genutils 0.2.0 ipython-sql 0.4.1b1 ipywidgets 7.6.5 isort 5.9.3 isosurfaces 0.1.0 itsdangerous 2.0.1 janus 0.6.2 jedi 0.18.0 Jinja2 3.0.2 jinja2-time 0.2.0 joblib 1.1.0 json5 0.9.6 jsonpatch 1.32 jsonpointer 2.2 jsonschema 4.2.1 julia 0.5.7 jupyter 1.0.0 jupyter-bokeh 3.0.4 jupyter-client 6.2.0 jupyter-console 6.4.0 jupyter-core 4.9.1 jupyter-lsp 1.5.0 jupyter-packaging 0.11.0 jupyter-server 1.11.2 jupyter-server-mathjax 0.2.3 jupyter-server-proxy 3.1.0 jupyter-sphinx 0.3.2 jupyterlab 3.2.2 jupyterlab-git 0.33.0 jupyterlab-launcher 0.13.1 jupyterlab-lsp 3.9.1 jupyterlab-pygments 0.1.2 jupyterlab-server 2.8.2 jupyterlab-widgets 1.0.2 keyring 23.2.1 kiwisolver 1.3.2 kociemba-manim-rubikscube 0.0.1 lazy-object-proxy 1.6.0 libmagic 1.0 llvmlite 0.37.0 lmfit 1.0.3 locket 0.2.1 loky 3.0.0 lxml 4.6.4 lz4 3.1.3 manim 0.17.1 manim-pptx 0.1.6 manim-rubikscube 0.1.0 manim-voiceover 0.2.1.post0 ManimPango 0.4.0.post2 mapbox-earcut 1.0.1 Markdown 3.3.4 MarkupSafe 2.0.1 marshmallow 3.12.1 matplotlib 3.5.0.dev2464+g95463c32e6 matplotlib-inline 0.1.3 maturin 0.11.5 mccabe 0.6.1 mercantile 1.2.1 mergedeep 1.3.4 metakernel 0.27.5 mistune 0.8.4 mizani 0.7.3 mkl-service 2.4.0 mlxtend 0.18.0 moderngl 5.6.4 moderngl-window 2.4.0 moviepy 1.0.3 mpl-scatter-density 0.7 mpld3 0.5.5 mpldatacursor 0.7.1 mpmath 1.2.1 msgpack 1.0.2 msvc-runtime 14.29.30133 multidict 5.2.0 multipledispatch 0.6.0 munch 2.5.0 murmurhash 1.0.6 mutagen 1.46.0 mypy 0.910 mypy-extensions 0.4.3 mysql-connector-python 8.0.26 nbclassic 0.3.4 nbclient 0.5.4 nbconvert 6.2.0 nbconvert_reportlab 0.2 nbdime 3.1.1 nbformat 5.1.3 nbval 0.9.6 nest-asyncio 1.5.1 netCDF4 1.5.8 networkx 2.8.8 NLopt 2.7.0 nltk 3.6.5 nodejs 0.1.1 notebook 6.4.5 numba 0.54.1 numcodecs 0.9.1 numdifftools 0.9.40 numexpr 2.7.3 numpy 1.20.3+mkl numpydoc 1.1.0 oct2py 5.2.0 octave-kernel 0.32.0 onnxruntime 1.9.0 openpyxl 3.0.9 optional-django 0.1.0 orjson 3.6.4 osqp 0.6.2.post0 outcome 1.1.0 packaging 21.2 palettable 3.3.0 pandas 1.3.4 pandas-datareader 0.10.0 pandocfilters 1.5.0 panel 0.12.4 pangocairocffi 0.4.0 pangocffi 0.8.0 papermill 2.3.3 param 1.12.0 parambokeh 0.2.3 paramiko 2.8.0 paramnb 2.0.4 parse 1.19.0 parso 0.8.2 parsy 1.3.0 partd 1.2.0 pathspec 0.9.0 pathy 0.6.1 patsy 0.5.2 pdfrw 0.4.post2 pdvega 0.2.1.dev0 pefile 2021.9.3 pep8 1.7.1 pexpect 4.8.0 pg8000 1.21.1 pickleshare 0.7.5 Pillow 9.2.0 PIMS 0.5 Pint 0.18 pip 22.3.1 pipdeptree 2.2.0 pkginfo 1.7.1 platformdirs 2.4.0 plotly 5.3.1 plotnine 0.8.0 pluggy 1.0.0 ply 3.11 portpicker 1.4.0 poyo 0.5.0 ppci 0.5.8 preshed 3.0.6 prettytable 2.4.0 priority 2.0.0 proglog 0.1.9 progressbar 2.5 prometheus-client 0.12.0 promise 2.3 prompt-toolkit 3.0.22 protobuf 4.0.0rc1 psutil 5.8.0 ptpython 3.0.20 ptyprocess 0.7.0 PubChemPy 1.0.4 PuLP 2.3 py 1.10.0 py-lru-cache 0.1.4 pyaml 20.4.0 pyarrow 6.0.0 PyAudio 0.2.11 pybars3 0.9.7 pybind11 2.8.1 pycairo 1.23.0 pycodestyle 2.7.0 pycosat 0.6.3 pycparser 2.20 pyct 0.4.8 pydantic 1.8.2 pydeck 0.7.1 pydocstyle 6.1.1 pydub 0.25.1 pyee 8.2.2 pyepsg 0.4.0 pyerfa 2.0.0 pyflakes 2.3.1 pyflux 0.4.17 pygame 2.0.3 pygbm 0.1.0 pyglet 1.5.21 Pygments 2.10.0 pyhdf 0.10.3 pyinstaller 4.6 pyinstaller-hooks-contrib 2021.3 pylint 2.9.6 pyls-spyder 0.4.0 pymc 2.3.8 PyMeta3 0.5.1 pymongo 3.12.1 PyNaCl 1.4.0 pynndescent 0.5.5 pyodbc 4.0.32 PyOpenGL 3.1.5 pypandoc 1.5 pyparsing 2.4.7 pypiwin32 223 pypng 0.20220715.0 pyppeteer 1.0.2 pyproj 3.2.1 PyQt5 5.15.1 PyQt5-sip 12.8.1 pyqt5-tools 5.15.1.1.7.5.post3 pyqtgraph 0.12.3 PyQtWebEngine 5.15.1 pyquery 1.4.3 pyrr 0.10.3 pyrsistent 0.18.0 pyserial 3.5 pyshp 2.1.3 PySocks 1.7.1 pystache 0.5.4 pytest 6.2.5 python-baseconv 1.2.2 python-dateutil 2.8.2 python-dotenv 0.21.0 python-hdf4 0.10.0+dummy python-Levenshtein 0.12.2 python-lsp-black 1.0.0 python-lsp-jsonrpc 1.0.0 python-lsp-server 1.2.4 python-magic 0.4.27 python-magic-bin 0.4.14 python-multipart 0.0.5 python-picard 0.7 python-polylabel 0.6 python-pptx 0.6.21 python-slugify 5.0.2 python-snappy 0.6.0 python-xmp-toolkit 2.0.1 pythonnet 2.5.2 PythonQwt 0.9.2 pyttsx3 2.90 pytz 2021.3 pyviz-comms 2.1.0 PyWavelets 1.1.1 pywin32 302 pywin32-ctypes 0.2.0 pywinpty 1.1.5 pywinusb 0.4.2 PyYAML 6.0 pyzmq 22.3.0 pyzo 4.11.3a1 QDarkStyle 3.0.2 qdldl 0.1.5.post0 qpsolvers 1.7.1 qstylizer 0.2.1 QtAwesome 1.1.0 qtconsole 5.1.1 QtPy 2.0.0.dev0 quadprog 0.1.8 quantecon 0.5.1 Quart 0.15.1 rasterio 1.2.10 readme-renderer 30.0 redis 3.5.3 regex 2021.10.23 reportlab 3.6.2 requests 2.28.1 requests-html 0.10.0 requests-toolbelt 0.9.1 rfc3986 1.5.0 rich 6.2.0 rise 5.7.1 rope 0.21.0 rpy2 3.4.0.dev0 Rtree 0.9.7 ruamel.yaml 0.17.17 ruamel.yaml.clib 0.2.6 Rx 1.6.1 scikit-fuzzy 0.4.1 scikit-image 0.18.3 scikit-learn 1.0.1 scikit-optimize 0.9.0 scilab2py 0.6.2 scipy 1.7.3 scramp 1.4.1 screeninfo 0.8 scs 2.1.4 seaborn 0.11.2 Send2Trash 1.8.0 setuptools 58.5.3 setuptools-scm 6.3.2 shap 0.39.0 Shapely 1.8.0 simpervisor 0.4 simplegeneric 0.8.1 simplejson 3.17.5 simpy 4.0.1 six 1.16.0 skia-pathops 0.7.2 sklearn-contrib-lightning 0.6.1 slicer 0.0.7 slicerator 1.0.0 smart-open 5.2.1 smmap 5.0.0 snakeviz 2.1.0 sniffio 1.2.0 snowballstemmer 2.1.0 snuggs 1.4.7 sortedcontainers 2.4.0 sounddevice 0.4.3 soupsieve 2.3 sox 1.4.1 spacy 3.1.3 spacy-legacy 3.0.8 Sphinx 4.2.0 sphinx-rtd-theme 1.0.0 sphinxcontrib-applehelp 1.0.2 sphinxcontrib-devhelp 1.0.2 sphinxcontrib-htmlhelp 2.0.0 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.5 spyder 5.1.5 spyder-kernels 2.1.3 SQLAlchemy 1.4.26 sqlite-bro 0.12.1 sqlite-fts4 1.0.1 sqlite-utils 3.17.1 sqlparse 0.4.2 srsly 2.4.2 srt 3.5.0 starlette 0.16.0 statsmodels 0.13.0 stegoveritas 1.9 stegoveritas-binwalk 2.1.2 stegoveritas-pfp 0.2.3 stegoveritas-py010parser 0.1.10 streamlit 1.1.0 streamz 0.6.3 supersmoother 0.4 svgelements 1.8.4 sympy 1.9 tables 3.6.1 tabulate 0.8.9 tblib 1.7.0 tenacity 8.0.1 termcolor 1.1.0 terminado 0.12.1 testpath 0.5.0 text-unidecode 1.3 textdistance 4.2.2 textwrap3 0.9.2 thinc 8.0.12 threadpoolctl 3.0.0 three-merge 0.1.1 thrift 0.15.0 tifffile 2021.11.2 tinycss2 1.1.0 toml 0.10.2 tomli 1.2.2 tomli_w 0.4.0 tomlkit 0.7.2 toolz 0.11.1 torch 1.10.0 torchaudio 0.10.0 torchvision 0.11.1 tornado 6.1 tqdm 4.62.3 traitlets 5.1.1 traittypes 0.2.1 tranquilizer 0.5.1a1 trio 0.19.0 trio-asyncio 0.12.0 twine 3.5.0 twitter 1.19.2 typer 0.4.0 typing-extensions 3.10.0.2 tzlocal 2.1 ujson 4.2.0 umap-learn 0.5.1 uncertainties 3.1.6 urllib3 1.26.7 uvicorn 0.15.0 validators 0.18.2 vega 3.5.0 vega-datasets 0.9.0 virtualenv 20.9.0 ViTables 3.0.2 voila 0.2.16 voila-gridstack 0.2.0 w3lib 2.0.1 wasabi 0.8.2 wasmer 1.0.0 wasmer_compiler_cranelift 1.0.0 wasmer_compiler_singlepass 1.0.0 watchdog 2.1.9 wcwidth 0.2.5 webencodings 0.5.1 websocket-client 1.2.1 websockets 10.3 Werkzeug 2.0.2 wget 3.2 wheel 0.37.0 widgetsnbextension 3.5.2 winpython 4.6.20211106 winrt 1.0.21033.1 wordcloud 1.8.1 wrapt 1.12.1 wsproto 1.0.0 xarray 0.20.1 XlsxWriter 3.0.2 xlwings 0.24.7 yapf 0.31.0 yarl 1.7.2 zarr 2.10.2 zict 2.0.0 zipp 3.6.0 zstandard 0.16.0 ```