Mugichoko's blog

Mugichoko’s blog

プログラミングを中心としたメモ書き.

ModernGL奮闘記 (1) - インストール -

そろそろPythonOpenGLを使ってもいいんじゃないかと思い始めて,よいラッパー (Wrapper) を探し始めた.そこで見つけたのがModernGLロゴはダサイけど,チラ見した感じ,設計方針に好感が持てた(私のC++での設計方針に似ていた)ので使ってみることにした.

インストール

個人的にcondaで完結させたいと思っていたが,GLFWだけはpipにした.conda版のGLFWはなぜかインストールしただけだと動かずひと手間必要そうだったので.

conda create -n moderngl
conda activate moderngl
conda install -c conda-forge moderngl
pip install glfw

ちなみに,ModernGLをcondaでインストールすると,もれなくModernGL-Windowもインストールされる模様.便利.

仕組みとしては,ModernGLがOpenGL扱っており,ModernGL-WindowがWindow周りを扱っている様子.ModernGL-Window自家製のWindowもあるが,GLUTみたく勝手にメインループを回す模様.フレームの更新を自分でコントロールしたい場合,別途GLFWのようなライブラリが必要,というわけ.

Hello World

ModernGL-Windowのトップページにある以下のコードを動かしてみると,もうOpenGLをコーディングする準備ができていた.

# test.py
import moderngl_window as mglw

class Test(mglw.WindowConfig):
    gl_version = (3, 3)

    def render(self, time, frametime):
        self.ctx.clear(1.0, 0.0, 0.0, 0.0)

Test.run()

以下のように真っ赤なウィンドウが表示されれば成功!

f:id:Mugichoko:20211112065149p:plain