1

頂点、インデックス、テクスチャ座標、法線をロードするオブジェクトローダーをJavaで正常に作成しました。オブジェクトローダーは、WavefontOBJファイルから読み込みます。

比較的簡単ですが、テクスチャ座標インデックスと通常のインデックスを含むより複雑なファイルをロードしようとすると、これらの追加のインデックスセットをどうすればよいかわかりません。テクスチャと通常のインデックスを解析するためのopengl(またはこの場合はopengl es 1.1)メソッドも見つかりませんでした。これは、Android用のopenglで私を悩ませてきただけでなく、以前はwebglでもそうだったので、助けていただければ幸いです。頂点、インデックス、テクスチャ座標、法線をロードする方法について説明しているチュートリアルがたくさんあるのはかなり面倒ですが、テクスチャと法線インデックスをロードするチュートリアル(opengl esの場合)はまだありません。

インデックスに基づいてテクスチャ座標/通常の配列を並べ替えたり再構築したりする必要がありますか?またはいくつかの関数が欠落していますか?

4

1 に答える 1

2

しかし、テクスチャと通常のインデックスをロードするもの(opengl es用)はまだ見ていません。

それには理由があります:あなたはできません。これが一般的に、WavefrontOBJ形式がOpenGL/D3Dアプリケーションへのロードに適していない理由です。

各頂点、position / normal / texCoord / etcデータの各組み合わせは、一意である必要があります。インデックスレンダリングを実行している場合、各インデックスは、position / normal / texCoord/etcの特定の組み合わせを参照します。

つまり、レンダリングに使用できるインデックスは1つだけです。そのインデックスは、すべての属性配列に同時にインデックスを付けます。したがって、データがさまざまなインデックスリストを使用してさまざまな属性にインデックスを付ける場合は、データを変換して正しく実行する必要があります。これを行うための最良の方法は、ある種のオフラインツールを使用することです。

于 2011-11-15T01:12:27.800 に答える