質問

Iv'eはblenderのモデルを.objファイルにエクスポートしました。Iv'eは非常にシンプルなものを作成することができました 頂点とインデックスを配列にロードするクラス。私の問題は、テクスチャ座標(vt)と法線(vn)も必要なことです。したがって、たとえば、テクスチャを使用できるようにするには、単純な立方体に4つの頂点* 6つの面が必要ですが、.objファイルには8つしかありません。また、のインデックスを処理する方法についての手がかりがありません。vtインデックス用に1つの配列/バッファーしか持てないのですが、.objファイルで2つの異なるv / vtを取得します。

頂点、テクスチャ、法線、およびインデックスの1つの配列に対してのみ配列などを返すローダーはありますか?またはそれを書く方法の例?Iv'eはこれまで完全な3Dエンジンでローダーを見つけただけで、それは私が望んでいることではありません。

役に立ちましたか?

解決

4つの頂点* 6つの面が必要以上です。実際には効率的ではありません。取得したエクスポートされた頂点は、インデックスで最適化されます。Opengl-esを使用すると、頂点(配列)を取得する場所を指定してから、別の配列のインデックスを使用して頂点を描画できます。その結果、可能な24の頂点に対して8つの頂点が得られ、保存に必要なメモリが少なくて済みます。したがって、効率は16/24 * 100%です。1000個の頂点を持つモデルがあると想像してください。

頂点のインデックスとは、適切なオフセットを持つ別の配列で、GPUが頂点(size_of_vertex(3 floats)* index)とUV座標の適切なオフセット(size_of_UVcoord(2 floats)* index)を取得することを意味します

opengl ES 2.0のこのコードですが、アイデアを得ることができます: ジェネラコディセタグプレ

およびsqTExはTexturedSquareのインスタンスです: ジェネラコディセタグプレ

他のヒント

PCT(またはjPCT-AE)を見てください。これは、Java(および/またはAndroid)用の優れた3Dライブラリです。箱から出して3ds / objの読み込みをサポートします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top