問題タブ [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.
3d - Assimp モデルにはテクスチャがありますが、テクスチャ座標がありません
Assimp を使用して 3D モデルをプログラムにロードしています。意味をなさないように見える Lightwave オブジェクトに出くわしたことを除けば、これまでのところすべてうまくいっています。もちろん、Lightwave ではうまくレンダリングされますが、Assimp にはテクスチャ座標も UV 座標もありませんが、最終的にロードされるテクスチャがあります。しかし、それは役に立ちません。テクスチャ座標がないため、メモリ内に留まり、使用されることはありません。
これについては、これまでのところ、役立つ Assimp ページは見つかりませんでした。他のモデルは正常にロードされ、適切にテクスチャ マッピングされます。これはAssimpの問題ですか?
opengl - GLSL 法線マッピング (0.0 Lambert の領域が点灯)
モデルの法線を使用すると、結果は良好です (単純なランバート拡散シェーダから期待されるように、暗い領域と明るい領域があります)
しかし、法線マップを使用すると、暗い領域が明るくなります!
法線マップを使用しながら、これらの例のように正しい拡散照明を取得したい
これは、通常のマッピングを使用する場合と使用しない場合のコードです
これが法線マップを使用するコードです
頂点シェーダー
フラグメント シェーダー
注: 実際の法線マッピングは、スペキュラー ハイライトに見られるように正しく機能します。
Assimp を使用してモデル (md5mesh) をロードし、Assimp を使用してタンジェントも計算し、それを属性としてシェーダーに送信しました
ここに問題のコードとスクリーンショットへのリンクがあります
https://dl.dropboxusercontent.com/u/32670019/code%20and%20screenshots.zip
それはコードの問題ですか、それとも私の誤解ですか?
更新されたコードとスクリーンショット
https://dl.dropboxusercontent.com/u/32670019/updated%20code%20and%20screenshots.zip
法線マップは拡散反射光で機能するようになりましたが、拡散反射光だけでは正しくありません
c++ - OpenGL Assimp C++ アクセス違反の読み取り場所 0x00000000
いくつかのチュートリアルに基づいて単純なモデル ローダー/ディスプレイを実行しようとすると、問題が発生しました。次のコードをコンパイルするたびに、このエラーが発生します。
これは、違法な null ポインターがアクセスされていることを意味しますが、見つけることができないようです。これが私のコードです:
}
ここでこの関数を使用します:
最も奇妙な部分は、ロードするために選択したモデル形式に応じて、別の場所でエラーブレークが発生することですが、エラーは常に同じです. assimp バージョン 3.0 と Visual Studio 2010 を使用しています。
c++ - 関数リターン後の無効なコンテンツへのポインタ
この const ポインターを返す際に問題が発生しました。デバッガーを使用すると、シーンが正しくインポートされ、変数シーンに保存されていることがわかりました。シーンを返した後、シーンが指すコンテンツは失われ、loadData() を呼び出すクラスからアクセスできなくなります。
(Importer
とaiScene(struct)
は assimp ライブラリの一部であり、変更できません)
シーンがスタックに格納されていると仮定し、リターン コールによってスタック ポインタがリセットされ、コンテンツが失われます。C ++でこのような問題を処理するにはどうすればよいですか?
c++ - OpenGL の奇妙なレンダリング動作 (顔がちらつく)
PRE: Assimp (Open Asset Import) ライブラリを使用して .3ds ファイルをインポートしています。メッシュは法線とマテリアルでレンダリングされます。Qtを使用しています。試したすべてのコンピューターで最新のドライバー。
投稿:カメラを使用してオブジェクトの周りを回転すると、一部のメッシュの面がちらつくことがわかります。
Assimp の render() メソッド (A. wsite からダウンロードしたサンプル コード) を使用しても同じことが起こります。
1) 奇妙なことに、それは通常、小さなサイズの .3ds で発生しますが、大きなサイズでは決して発生しません。
2) 私が本当に近くにいる場合、アーティファクトはありません。遠くにいるほど、より多くのアーティファクトが見えます。
それは.3dsの問題ですか、それとも私のものですか?
大きな .3ds (20MB) の例
小さな .3ds (3MB) の例
Draw() 関数をここに貼り付けます(glList を使用していますが、それらを取り除くことはできません)。
ios - IOS でスレッドを使用すると、assimp が 3D モデルのインポートに失敗する
IOS で assimp lib を使用してモデルをレンダラーにインポートしようとしています。モデル ファイルのサイズは 2 MB です。
スレッドを使用しないことでモデルを正常にインポートできます。
しかし、スレッド内でコードを実行すると、assimp がインポートに失敗します。
なので基本的にこのシーンは糸を使えば無くなります。
私はスレッドを間違って使用していますか?
私が見逃しているポイントは何ですか?
このリンクからさらに多くのコードを見ることができます: http://pastebin.com/aLjx7dvZ
質問の単純さを維持するために、完全なコードは投稿しませんでした。
opengl - OpenGL、Assimp 3D モデルの追加後に画面が更新されない
私は OpenGL 4.0 を使用しています。シーンには 3 つのものがあります。1-
VBO プレーン
2- キューブ マップ
3- 3D モデル [3ds/obj]
私は Assimp ライブラリを使用して 3D モデルをインポートしています。モデルをインポートするために作成したコードは、「TheCPlusPlusGuy」からの youtube のチュートリアルの助けを借りて作成されました。
これが私が直面している問題です。シーンで平面をレンダリングできます。シーンでキューブ マップ、別名スカイボックスをレンダリングでき、それらを一緒にレンダリングできます。
しかし、.3ds であれ .obj であれ、3D モデルをレンダリングしているとき、画面が更新されません。画面のサイズを変更しても、更新されません。
これは、3D モデルをレンダリングするときにのみ発生します。フラグを使用し、実行時に 3D モデルの描画を有効にしました。モデルをレンダリングするまでプログラムは正常に実行されます。モデルをレンダリングすると、モデル自体は画面に表示されませんが、画面が再びフリーズします。
私はそれをグーグルで調べましたが、他の誰もこのような問題を抱えているようには見えません.
私の主な診断は、平面、キューブマップ、および 3D モデルに VBO を使用しているためです。この問題が発生しています。
parsing - インデックスを正しくロードしていない assimp
シンプルな 3D モデル cube.3ds を読み込もうとしていますが、次のエラーが発生します: ベクトルのインデックスを読み取ると、ベクトルに [0, 1, 2, 3, ...] が含まれています。正しくありません。私はほとんど同じトピックを見つけました: Assimp and D3D model loading: Mesh not being displayed in D3Dですが、答えが見つかりません。メッシュからインデックスをロードするためのアルゴリズムを詳細に説明できる人はいますか? どうもありがとう!