73013


提示コードはモデルデータの.objファイルですが頂点数が足りないため正常に立方体が描画出来ません。**そもそもoepnglでどう作成されたモデルをインポートするべきなのでしょうか？**ブレンダーで作成しましたが.objファイルの構造がおかしいためちょっとやり方が違うものと推測出来ます。

[![画像の説明をここに入力](https://i.stack.imgur.com/7ymau.png)](https://i.stack.imgur.com/7ymau.png)

[code]

      # Blender v2.91.0 OBJ File: ''
        # www.blender.org
        mtllib Cube.mtl
        o Cube
        v 1.000000 1.000000 -1.000000
        v 1.000000 -1.000000 -1.000000
        v 1.000000 1.000000 1.000000
        v 1.000000 -1.000000 1.000000
        v -1.000000 1.000000 -1.000000
        v -1.000000 -1.000000 -1.000000
        v -1.000000 1.000000 1.000000
        v -1.000000 -1.000000 1.000000
        vt 0.625000 0.500000
        vt 0.875000 0.500000
        vt 0.875000 0.750000
        vt 0.625000 0.750000
        vt 0.375000 0.750000
        vt 0.625000 1.000000
        vt 0.375000 1.000000
        vt 0.375000 0.000000
        vt 0.625000 0.000000
        vt 0.625000 0.250000
        vt 0.375000 0.250000
        vt 0.125000 0.500000
        vt 0.375000 0.500000
        vt 0.125000 0.750000
        vn 0.0000 1.0000 0.0000
        vn 0.0000 0.0000 1.0000
        vn -1.0000 0.0000 0.0000
        vn 0.0000 -1.0000 0.0000
        vn 1.0000 0.0000 0.0000
        vn 0.0000 0.0000 -1.0000
        usemtl Material
        s off
        f 1/1/1 5/2/1 7/3/1 3/4/1
        f 4/5/2 3/4/2 7/6/2 8/7/2
        f 8/8/3 7/9/3 5/10/3 6/11/3
        f 6/12/4 2/13/4 4/5/4 8/14/4
        f 2/13/5 1/1/5 3/4/5 4/5/5
        f 6/11/6 5/10/6 1/1/6 2/13/6
    
[/code]


CC BY-SA 4.0
2020-12-31T12:48:06.670
72997
2021-01-04T01:10:11.180
2021-01-04T01:10:11.180
754
question
c++ opengl
openGLでモデルを描画する方法。


[OpenGLでobjファイルの3Dデータを表示してみる](https://drumath.hatenablog.com/entry/2018/02/06/183623)

このサイトはOpenGLでの描画の参考になると思います。

あとWikipediaの.objファイルの記事も [Wavefront
.objファイル](https://ja.wikipedia.org/wiki/Wavefront_.obj%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB)

要はobjファイルは元のモデルの頂点座標やテクスチャ座標などをそれぞれ表すということです。これをOpenGLで描画するにはある程度自分でOpenGLのコードを書く必要があるかなと思います。OpenGLで描画するためのライブラリやツールもあるかもしれませんが、おそらく目的がOpenGLの勉強ではないかと考えたのでここでは書きません。

さて、[OpenGLでobjファイルの3Dデータを表示してみる](https://drumath.hatenablog.com/entry/2018/02/06/183623)のサイトでやっていることの概要を書くと

  * objファイルを、標準入力で読み込みやすいようにRubyで整形する
  * 整形したファイルをfreeglutで書いたプログラム(自作のobjファイルビューワ)に読み込ませて実行 
    * freeglutはOpenGLの実装の一つで、教育用その他でよく使われています
  * objファイルビューワ内部ではobjファイルで指定された座標でメッシュを描画

といった流れです、ある程度コピペで真似できるのではないでしょうか


CC BY-SA 4.0
2021-01-01T13:44:39.647
73013
2021-01-01T13:44:39.647
4715
72997
answer