問題タブ [assimp]
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.
mingw - Mingw でコンパイルされた Asset Importer のリンクが遅い
Asset Importer (assimp)を使用してモデルをロードしています。しかし、プログラムのビルドを開始するとすぐに、リンクの手順が非常に遅くなることがわかりました。 assimp ライブラリとヘッダーを含めない場合にかかった 2 秒未満に対して、55 秒以下です。プロジェクト全体で約 30 個のファイルがあり、assimp を使用する実装ファイルは 1 つだけです。
私は mingw g++ コンパイラを使用しています。AssImp を機能させるには、CMake でビルドする必要がありました (no_boost フラグを使用し、ツールのコンパイルはありません)。動的リンクと静的リンクの両方を試しましたが、速度は同じです。出力された lib と dll のサイズ (34 MB と 20 MB) を確認し、このCompiling assimp with MinGWの投稿に出くわした後、デバッグ シンボルを使用せずにビルドしようとしました (cmake オプションで -g のすべてのインスタンスを削除しました) が、できませんでしたCMakeにライブラリへのデバッグ情報の構築を強制的に停止させます-そもそもそれがリンク時間に影響を与える可能性があるかどうかは完全にはわかりません。
次に、可能性のある CodeBlocks + MinGW ビルドのスローダウンを調べたところ、次の投稿に出くわしました: なぜ MinGW は非常に遅いのですか? 、 assimp のコンパイルが遅い場合は意味がありますが、別のプログラムへのリンクはそうではありません。
これは assimp を使用することの避けられない現実ですか、それとも私はひどく間違ったことをしていますか?
opengl - assimp でメッシュを opengl の vbo にロードする
このチュートリアルの下部にあるコードを使用して、assimp を使用してメッシュをロードしています。 メッシュの読み込み
そのため、メッシュをロードし、最初のメッシュを vbo にロードしてから、それらを vao にリンクします。
しかし、どうすれば 2 番目のメッシュを vbo にロードできますか? のように、2 番目のメッシュを に含める必要がありg_vp[g_point_count * 3 * sizeof (float)]
ますか? 私はそれを試しましたがうまくいきませんでしたが、何か他のことが間違っている可能性があります。
opengl - assimp を使用して異なるテクスチャ タイプをロードする
デフォルトでは、このようにすべてをロードします
非常に遅かったので、assimp を使用することにしました。モデル自体はうまくロードされていますが、テクスチャはまったくありません (色のようなものが存在します)。
私はこのような材料をロードします
aiTextureType
私はディフューズに設定しましたが、私の .obj ファイルにはshininess, specular, ambient
マテリアルもあります。
私はこのようにすべてを描きます
では、他の種類のマテリアルをロードするにはどうすればよいでしょうか?
c++ - OpenGL で MD5 モデル Bob からノードにボーン名をロードしない assimp
現在、ASSIMP を使用してアニメーションをテストするための MD5 モデルをロードしています (次のチュートリアルから: http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html )。これまでのところ、すべて問題なくロードされているように見えます (静的モデルは問題なくレンダリングされます) が、何らかの理由で Assimp のノードにボーン名が表示されません。各ノードの名前は<MD5_Root>
or<MD5_Mesh>
であり、表示すべきボーン名ではありません。
以下は、ASSIMP 内のすべてのボーン名をノード名でチェックするコードのスニペットです。文字列が になるポイントに到達することはありません"HOI"
。nodeName は「pubis」や「upperarm.L」などのボーン名にする必要があります。
また、.MD5 ファイルの一部で、何か役立つことがわかります。
何らかの理由で名前が正しくロードされていないか、MD5 ファイル自体にエラーがあるのでしょうか?
c++ - Assimp を使用して 3D オブジェクトをロードする際のメモリ位置例外での std::bad_alloc
VS2008 でビルドされた Assimp を使用して 3D オブジェクトを読み込もうとしています。Assimp のサンプル コードは、ビルドでオブジェクト データを処理するメッシュ クラスを定義する (インスタンス化はしない) まで、オブジェクトを正しくロードします。具体的には、ベクトルのサイズをチェックするコードを含めるとエラーが発生します。この問題は、Assimp の noboost バージョンを使用しているかどうかに関係なく発生します。同じ結果でいくつかの異なる .obj ファイルを試しました。
デバッガーを使用して、Assimp ローダーが .obj ファイルの面を読み取るときに失敗することがわかりました。これは、Assimp の ObjFileParser.cpp の 317 行目で発生します。
Mesh.cpp (このクラスはインスタンス化されていないか、main.cpp で事前宣言として使用されていません)
main.cpp
mlock.c で std::bad_alloc at memory location 例外がスローされる
私のコールスタックは
出力:
フロア.obj:
c++ - Assimp を使用して Ogre でオブジェクトをレンダリングする際の問題
Assimp でサポートされている 3D ファイル (.3ds .dae など) を表示しようとすると、正しく表示されません。たとえば、「Jeep1.3ds」では車体の半分が表示されました。情報、メッシュ、法線のすべてのノードが正しく取得され、頂点と面の数も正しい (と思います)。テクスチャが正しい座標を満たしていません。上記に関連していると思います...画像では、私の結果を「評価」して修正できます。助けや意見をありがとう。
オーガコード
Assimp .CPP
アシンプ .H