PyOpenGL
は、ほとんどの場合、Pythonの関数呼び出しを同じ名前のネイティブマシンコード関数の呼び出しに変えるかなり薄いラッパーです。ミックスのコーリング規約のようないくつかの細部はありますが、実際は退屈なものです。事実、(OpenGLに関しては)PyOpenGLを使ってPythonで書いたソースコードは、Cで書いたソースコードとほとんど同じに見えます。PyOpenGLはいくつかの手段を提供しています。データポインタパラメータを取るOpenGL呼び出しへのNumPy配列のインタフェースですが、これは単なるハウスキーピングです。
OpenGLをC言語で呼び出すときや、さらに極端なアセンブリ言語(完全に可能な場合)は、OpenGLを使って行くことができる最低レベルです。自分のGPUデバイスドライバを書くのに手間がかかります。また、GPUデバイスドライバを書くことは非常に難しい作業です。文字通り何百万行ものCコードが必要です(NVidiaのOpenGL実装は約40M LoC、AMDおよびIntel GPUのオープンソースドライバ、それぞれにMLoCがあります)。
いくつかの中間地に興味がある場合は、Vulkan APIをご覧ください。グラフィックス用のより高いレベルのラッパーを書くことがあなたのことであるならば、Vulkanのためのより高いレベルのAPI /レンダラーを実装し、それをPythonにインターフェイスすることをお勧めします。これは、学習経験(IMHO)として、はるかに報われる可能性が高いです。
あなたがグラフィックスプログラミングに慣れていない場合は、おそらく独自のバインディングを作成しようとするのは良い考えではありません。 – byxor
私はそう思っていますが、私は本当に本当にそれをしたいです。あなたが知っているなら、ちょうど私にいくつかのポインタを与えることができますか? – Wowzer
私はあなたのためのリンクがありません、申し訳ありませんが、私は追加する必要があります...低レベルのものは、非常に具体的な方法で書かれていますかなり厳密に定義されたより高いレベルの使用をサポートします。 OpenGLの動作を理解していないと、ハードウェアとのやりとりが非常に難しいことがわかります。 – Basic