問題タブ [wavefront]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4649 参照

android - WavefrontOBJ形式からの「インデックス」のロード

OpenGLES2.0を使用してAndroidアプリケーションを開発しています。

Blender2.49bで作成されたエクスポートをWavefrontOBJ形式でロードしたいと思います。verxtexの位置、法線、テクスチャを特定しました。

glDrawElements(GLenumモード、GLsizeiカウント、GLenumタイプ、const GLvoid * indexs)を使用してメッシュを描画したいのですが、WavefrontOBJファイルから最後のパラメーターであるインデックスを取得する方法がわかりません。

私が探している「指標」に直面していますか?

私はこれをフォーラムで見つけました:faces = 1で始まるインデックス!

「1から始める!」の意味は何ですか?

ありがとう。

0 投票する
1 に答える
485 参照

c++ - 解析のヒント

.obj モデルを opengl プログラムにロード/解析するために、いくつかのライブラリを試しています。

ここにそれらのいくつかがあります:

  • ネイト・ロビンス、GLM

  • obj2opengl(最も遠いもの) by heiko

また、機能しなかった他のいくつかのローダー。

これらに関する私の主な問題は、未定義のエラーでした。そして、私は多くの異なる人々 (元のコードの編集者) から GLM を試したので、おそらくそれは私が間違っていることです。

だから私の質問は:

  • opengl (PC タイプ) にはどの obj ローダーを使用すればよいですか?

  • 自分でobjファイルを解析する場合、頂点を保存するにはどうすればよいですか?(最速/最も効率的)また、長所/短所の選択はさらに優れています

Windows 32 ビット (7 および Vista) で Code Blocks/MinGW を使用しています。

0 投票する
1 に答える
286 参照

mesh - ミラー操作を頂点配列に割り当てます

.obj vertices 配列の頂点座標を反転して、平面/軸を横切ってミラーリングされた座標を取得する数学を理解しています。しかし、実際のミラーリング操作のために頂点配列をどのように設定しますか (単に反転するのではなく)

0 投票する
2 に答える
259 参照

c++ - OBJをロードするとき、これを取得します

今回はモデルのロードに成功しました!わーい!!

しかし、別のobjローダーで発生したわずかな問題があります...

それがどのように見えるかは次のとおりです。

http://img132.imageshack.us/i/newglitch2.jpg/

すぐに見ることができない場合は、別の角度からご覧ください。

http://img42.imageshack.us/i/newglitch3.jpg/

これは立方体のように見えるはずですが、ご覧のとおり、立方体の面のエッジは非常に途切れ途切れになっています

他の誰かがこの問題を抱えていますか、または誰かがこれを解決する方法を知っているなら、私に知らせてください

また、表示する必要があるコードがある場合はコメントしてください。喜んで投稿します。

ちょっと私はコードをいじって(いくつかのものを変更しました)、これが私が思いついたものです

オリジナル:

結果: choopy 画像 (画像を見てください)

現在:

結果: モデルは途切れることはありませんが、カメラを動かすことができません (モデルは私の目の前にあります)

0 投票する
1 に答える
5377 参照

android - AndroidOpenGLESでWavefront.objのテクスチャ座標を使用する際の問題

openGLESを使用してAndroidアプリを作成しています。私はいくつかのオンラインチュートリアルに従い、ハードコードされた頂点/インデックス/テクスチャ座標を使用してテクスチャキューブをロードすることができました

次のステップとして、wavefront.objファイル用のパーサーを作成しました。チュートリアルの頂点などを使用してモックファイルを作成しました。これは正常に読み込まれます。

ただし、3Dモデリングパッケージを使用して作成されたファイルを使用すると、すべてのテクスチャが台無しになります

以下は、現在テクスチャ座標を取得している方法です。

まず、すべてのテクスチャ座標、vt'sを大きなベクトルにロードします

次に、各f三角形の最初の2つのテクスチャ座標を見つけます(つまり、f 1/2/3 2/5/2 3/4/1は、2番目と5番目のテクスチャ座標を取ることを意味します。.objは0ではなく1からカウントを開始するため、位置から-1にし、x座標位置の位置に2を掛けて、同じことを実行する必要がありますが、vt配列のy座標位置には+1します)

見つけたテクスチャ座標を取得して、別のベクトルに追加します。

すべての頂点を通過したら。ベクトルをFloatBufferに変換し、それをglTexCoordPointerdrawメソッドに渡します

ファイルを解析するためのコードは次のとおりです。

そして、これが描画のためのコードです:

私はこれでどんな助けにも本当に感謝します。ファイルからモデルをロードできないのはイライラします。ここで何が間違っているのか、何が欠けているのかよくわかりません。

0 投票する
1 に答える
1451 参照

simd - SIMD に収まる波面の数

AMD GPU に関する記事を読んでいて、特定の例に混乱しています。多数のレジスターを持つ SIMD ユニットが与えられた場合、x 個のレジスターが必要な場合、SIMD を占有できる波面の数はいくつですか?

具体的には、SIMD ユニットに 1 ~ 32 のウェーブフロントを共有する 16k のレジスタがある場合。これは、各波面が平均 8 つのレジスタを持つことができることを意味します (波面が 32 ある場合)。これで問題ありません。

さらに、SIMD のウェーブフロント数には 20.6 までのグローバルな制限があり、各ウェーブフロントに 11 ~ 12 のレジスタを与えることになります。

この部分は私を混乱させます。さらに、83 以上のレジスタを使用する場合、SIMD を占有できるのは 2 つの波面のみであると言えます。(波面の幅は 64 であることを思い出してください)。

私の計算 2 * 83 * 64 = 10628 registersでは、これは SIMD ごとに与えられた 16,384 をはるかに下回っています。したがって、3 つの波面があっても問題ありません。

見逃したものがある場合は、ここの記事を読んでいます。(第7段落)

0 投票する
1 に答える
1413 参照

.net - Wavefront .objファイルをXAMLに変換するためのライブラリはありますか?

XAML要素に変換する必要のあるWavefront.objファイルが多数あります。MeshGeometry3Dこれは、Microsoft Expression BlendにインポートしてXAMLをコピーすることで手動で行うことができますが、プロセスを自動化できれば非常に役立ちます。

これを行うためのライブラリ(できれば.NETですが、私は何でも取ります)はありますか?

0 投票する
1 に答える
3178 参照

opengl - OpenGL を使用した Wavefront OBJ および関連マテリアル MTL のレンダリング

これらのファイルがあります: sample.obj、sample.mtl、およびイメージ jpg を含むフォルダー sample。上記の入力を使用した opengl テクスチャ マッピングのサンプル コードを教えてください。

0 投票する
5 に答える
11412 参照

c++ - C++を使用したWavefront.objファイルの解析

wavefront .objファイルを解析しようとしているときに、次の2つのアプローチを考えました。

  1. 頂点の数のサイズの2D配列を作成します。面が頂点を使用する場合、配列からその座標を取得します。
  2. 頂点リストの開始位置を取得し、面が頂点を使用する場合は、頂点に到達するまで線をスキャンします。

IMO、オプション1は非常にメモリを消費しますが、はるかに高速です。オプション2には大量のファイル読み取りが含まれるため(そしてほとんどのオブジェクトの頂点の数が非常に多くなるため)、これははるかに遅くなりますが、メモリの集中度は低くなります。

問題は、メモリと速度のトレードオフを比較することです。平均的なコンピュータに適したオプションはどれですか。そして、別の方法はありますか?

オブジェクトをレンダリングするために、GLFWと一緒にOpenGLを使用する予定です。