Closed10

OpenGL on XXX まとめ

ピン留めされたアイテム
funatsufumiyafunatsufumiya

このまとめを書き始めたきっかけは、OpenFrameworksをVulkan/DirectX12/Metalなどの低レベル描画APIに対応させるには、実はOpenGLごと低レベル描画APIにポートするのが一番なのではないかと思ったこと。

そうすれば、大半はOpenGLで書いておきながらも、必要なところで低レベル描画APIが呼べるので、ボトルネックを回避できる。そして、徐々に完全移行したり、フォールバックとしてOpenGLを書くという道筋ができる。…と考えた。

funatsufumiyafunatsufumiya

本当は、WebGPUのような共通で安定した仕様のAPIの上にOpenGL(ES)があった方が、将来性は良いのだろうけれど、オーバーヘッドは多少ある。

bgfxsokol等の上にOpenGL API (sokolは実は既に少しある) を実装するメリットを、あわせて検証していきたい。

funatsufumiyafunatsufumiya

TODO: 今回の目的は、おおよそはOpenGLで書きつつ、低レベルAPIへのアクセスも担保することなので、それがZinkやD3D12ドライバ、そしてZinkで可能かどうか要確認。

funatsufumiyafunatsufumiya

番外編として、純粋なC (C99) で書かれたOpenGL-likeな実装。いわゆるソフトウェアレンダラに分類されるものでありながら、OpenGL 3.x 風のAPIを提供し、シングルヘッダライブラリであるため簡単にビルドできるのが特徴。
https://github.com/rswinkle/PortableGL

READMEに書かれているように、GLの構造を学ぶための教育用途にも役立つだろうし、dGPUやiGPUがない環境でレンダリングしたい場合(例えばサーバサイド)に役立つかもしれない。

このスクラップは23日前にクローズされました