ModernGLのリポジトリにある、サンプル集 moderngl/examples/ を動作させてみる。
必要なものをインストール
pip install -r examples/requirements.txt
# moderngl-window も使うためインストールが必要
pip install moderngl-window
実行例
すべての例は、ウィンドウの作成とリソースの読み込みを可能な限りシンプルにするために、moderngl-window を使用する。すべてのサポートされているプラットフォームとカバーされていることを保証している。例は、Windows、Linux、OS X上ですぐに動作するはず。
# フルスクリーン, 8x MSAA, マウスカーソルを消す, vsyncを有効な状態でサンプルを実行
python basic_alpha_blending.py --fullscreen --samples 8 --cursor off --vsync on
オプション
-h, --help このヘルプメッセージを表示
wnd {glfw,headless,pygame2,pyglet,pyqt5,pyside2,sdl2,tk}, --window {glfw,headless,pygame2,pyglet,pyqt5,pyside2,sdl2,tk}, --window {glfw,headless,pygame2,pyglet,pyqt5,pyside2,sdl2,tk}.
使用するウィンドウタイプのラベル
-fs, --fullscreen フルスクリーンでウィンドウを開く
-vs VSYNC, --vsync VSYNC
vsync を有効 / 無効
-r RESIZABLE, --resizable RESIZABLE
ウィンドウのリサイズを有効 / 無効
-s SAMPLES, -samples SAMPLES
使用するサンプル数を指定(マルチサンプリング)
-c CURSOR, --cursor CURSOR
マウスカーソルの表示を有効 / 無効
--size SIZE ウィンドウサイズ
--size_mult SIZE_MULT
ウィンドウサイズの乗数でスケール
実行例
python basic_alpha_blending.py --samples 8 --vsync on
TypeError: init() got an unexpected keyword argument ‘file_drops’
以下のようなエラーが出るときは、moderngl-window のインストールがされているか確認。
moderngl\examples>python basic_alpha_blending.py --fullscreen --samples 8 --cursor off --vsync on
2020-11-01 14:44:54,941 - moderngl_window - INFO - Attempting to load window class: moderngl_window.context.pyglet.Window
Traceback (most recent call last):
File "basic_alpha_blending.py", line 74, in <module>
AlphaBlending.run()
File "moderngl\examples\ported\_example.py", line 21, in run
mglw.run_window_config(cls)
File "\lib\site-packages\moderngl_window\__init__.py", line 197, in run_window_config
cursor=show_cursor if show_cursor is not None else True,
File "\lib\site-packages\moderngl_window\context\pyglet\window.py", line 59, in __init__
file_drops=True and platform.system() != "Darwin"
File "\lib\site-packages\pyglet\window\win32\__init__.py", line 129, in __init__
super(Win32Window, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'file_drops'