3Dモデルのフォーマットはなんでしょうか?
OpenGL に3Dモデルファイルを指定するとロードしてくれるような API はないので、基本的に以下の流れになります。
- 3Dモデルファイルをパースする。
- そのデータを元に描画 API を使い、描画する。
3Dモデルファイルは obj 形式ではれば、tinyobjloader があります。
Blender でもたしか obj 形式の出力はできたと思います。
tinyobjloader でロードして、パイプライン機能を使って描画したことならありますが、今風にやるなら GLSL で描画したほうがいいでしょう。
追記
tinyobjloader のサイトに viewer example というのがあるのに気づきました。描画は固定機能パイプラインを使っていますが、参考にはなるのではないでしょうか。
linux 環境で動かしてみたら、以下のようになりました。
$ sudo apt-get install libglfw3-dev premake4
$ premake4 gmake
$ make
$ ./objview ~/red_pepper.obj
固定機能パイプライン (fixed function pipeline)
一言でいうと、古い OpenGL の書き方です。
OpenGL に組み込みのシェーダがあり、それを使って描画する方法です。
ライトの設置や視点の変更、描画など手続き的に用意された関数を呼び出すだけなので簡単ですが、自由度は低いです。
今風の OpenGL の使い方は GLSL で自作のシェーダーを作って描画するプログラマブルパイプライン (programmable pipeline) です。
詳しくは Legacy OpenGL を参照
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/14 09:44
2018/09/21 05:43
2018/09/21 06:36
2018/09/21 06:37 編集