問題タブ [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.
opengl - すべてが三角形または四角形ではない.objファイルを表示する
objファイルをOpenGLの正しい頂点/インデックス形式にするには、インデックスマジックが必要であることを理解していますが、次の.objファイルを検討してください。
面は三角形または四角形ではありません。これは、CPUまたはGPUで何らかのテッセレーションを実行する必要があることを意味しますか?それは、そのタイプのジオメトリ記述を処理するための標準的な方法でしょうか?
編集:さらに、制限付きでライセンスされていない三角測量を行うライブラリはありますか?
android - Android : Min3d ライブラリを使用して Wavefront .obj ファイルをロードすると、OutOfMemoryError が原因で 2 回目の起動がクラッシュする
Android Min3d ライブラリを使用して、Wavefront .obj ファイルから 3D モデルを読み込んで描画しています。
ライブラリは正常に動作します (.obj ファイルからの読み込みと描画) が、問題は、アプリを閉じてからもう一度起動すると、アプリがクラッシュし、Bitmap を作成しようとすると java.lang.OutOfMemoryError が表示されることです。メッシュ テクスチャ。3D モデル (サイズ 2048 x 2048) に 1 つの大きなテクスチャを使用します。
2 回目の起動でクラッシュするという事実は、Min3d フレームワークにメモリ リークがあることを示していますか?
このライブラリを使用している人は、この問題に遭遇したことがありますか? そして、これをどのように解決しますか?
ソース コードを読み取ろうとしたところ、Min3D がテクスチャを GPU に送信した後、テクスチャのビットマップが常に再利用されることがわかりました。というわけで、漏れはまだ見つかっていません。
この場合、何が問題になる可能性があるかについての洞察を教えていただけますか? 事前にthx。
注: テクスチャのサイズを 1024x1024 に変更すると、2 回目の起動ではクラッシュしませんが、代わりに 4 回目または 5 回目の起動でアプリがクラッシュします。
android - Wavefront obj モデル ローダーのインデックス作成の問題
こんにちは、IBO を使用して .obj ウェーブフロント ファイルを正しくレンダリングするのに苦労しています。
現時点では非常に単純ですが、頂点と法線をロードします。解析された頂点と法線をバインドすると、素晴らしい結果が得られますが、インデックスを GL_element としてバインドすると...混乱します。
今、私はこれに約 1 週間取り組んできました。ここで少なくとも 20 ページをチェックし、最終的に質問することにしました。
何が悪いのかよくわからないので、自分のコード、コンソールに書き込んだデバッグ情報、プログラムから書き出したファイル、スクリーンショット、ビデオを持ってきました。ここの誰かが私がこのこぶを乗り越えるのを手伝ってくれることを本当に願っています.
ペーストビン : http://pastebin.com/uZs74DSn
ペーストビンから、すべてのインデックスから 1 を減算することによって、.obj ファイルがゼロベースではないことを既に説明していることがわかります。
ビデオ : 1. http://www.youtube.com/watch?v=tfqhDEMCjPA&feature=plcp glarrays で解析および描画されたサル。
http://www.youtube.com/watch?v=SDeJk7sv2ZA&feature=plcpまったく同じモデルが解析されましたが、gldrawelements で描画されました。
http://www.youtube.com/watch?v=3_HS8Q7FXsk&feature=plcp gldrawelements で解析および描画された球体
http://www.youtube.com/watch?v=w6Oqy3JdTRg&feature=plcpモデルはラインループでレンダリングされた opengame アートで見つかりましたが、glarray を使用したので問題ありません。
http://www.youtube.com/watch?v=xHiCcK5QuE0&feature=plcp多くの基本的な形状がレンダリングされ、glarray で十分に照らされています。
私は本当に途方に暮れており、誰かが私がこのこぶを乗り越えるのを手伝ってくれることを願っています. これからもシェーダーを勉強していきたいと思います。これはそこにいる誰かにとっては些細なことかもしれませんが、彼らが立ち寄って指針となるアイデアを提供できることを願っています!
ブルービー
c++ - c/cppのマテリアルファイルを含むWavefrontobjローダー
マテリアルプロパティファイルのロードをサポートするwavefrontobjローダーを探しています。
基本的に最低基準をサポートします。
さらに、ベクトルと行列にmath glmライブラリを使用しており、これをうまく統合できるものを探しています。
オプションを検索すると、 glm (紛らわしい??)と呼ばれる別のライブラリが見つかりました。これは、これまでのところ最良の選択肢のように見えますが、これには必要以上のものがありますが、レンダリングオプションのセットを含まないローダーのみが必要です。
私がこれまでに見た他のオプション:-assimp、非常に広範囲、私が必要とするよりはるかに
libwave、1996年から、レンダリングを実行したい
libobjは有望に見えますが、まだ資料をサポートしていません。
Libobjは、おそらく良い代替手段であり、私が必要とするものをサポートしているように見えますが、いくつかの基本的な例が不足しており、残りのコードと統合するためにいくつかの作業が必要です。
libwavefrontはマテリアルファイルをサポートしていません
私のプロジェクトに適合する可能性のある他の最新のオプションはありますか?
c++ - OBJ、バッファオブジェクト、および面インデックス
私は最近、頂点バッファオブジェクトを機能させることに大きな進歩を遂げました。そこで、Element配列に移り、そのように実装すると、objから頂点と面データをロードできると考えました。
私はC++でファイルを読むのが苦手なので、Pythonドキュメントを作成してobjを解析し、2つの別々のtxtを作成して、頂点配列と面のインデックスを取得し、コードに直接貼り付けました。これは6000行に似ていますが、(コンパイルエラーなしで)機能します。そして、これがどのように見えるかです
。
彼らは間違っていると思います。わからない。バッファオブジェクトに対して機能する法線またはテクスチャがまだないため、頂点と面の順序はobjから抽出されただけでは変更されません。キューブを見ればいいのですが、実際はそうではありません。
レンダリングコードは次のとおりです
情報をファイルに書き込むだけの私のPythonパーサー:source
オブジェクトはLeagueofLegendsのEzrealです
私が顔を間違って読んでいるのか、それとも私が思っていたものでさえないのかはわかりません。私はGL_TRIANGLE_STRIP
何か他のものを使うと思いますか?ヒントや詳細情報のリクエスト。
c++ - WaveFront .objローダーがオブジェクトを表示しない(VBOおよびVAO)
私はWaveFront.objローダーに取り組んでおり、最初の目標は、次の.objファイルからすべての頂点とインデックスをロードすることです(湾曲したエッジを持つ立方体を表示します)。
すべての頂点とインデックスをverticesVecとindexesVecという2つのベクトルにロードし、両方をチェックしました(すべての入力が正しい順序であり、verticesVec [0]=0.9およびindexesVec[0]= 1です)。VertexBufferObjectに頂点をロードし、VerticArrayObjectにインデックスをシェーダーフィールド設定と一緒にロードします。
ただし、立方体をレンダリングすると、次の画像が表示されますが、これは正しくありません。すべてのコードを再確認しましたが、問題が発生している部分が見つかりません。ベクトルとベクトルのバイト単位のサイズと関係がありますか?
次のコードは、すべてのレンダリングを行うDraw/Renderメソッドからのものです。
そして、私の.objローダーでのバッファーオブジェクトの初期化:
c++ - OBJ モデルのレンダリング ギャップ
自分で構築したパーサーを使用して解析する OBJ Wavefront モデルをレンダリングすると、レンダリング時に次の結果が得られます。
存在するギャップは正常ですか、それともレンダリング コードの欠陥によるものですか?
レンダリング コードは次のとおりです。
java - OpenGLobjファイルがJOGLで正しくレンダリングされない
JOGLを使用して、Javaで単純なWavefrontObjファイルローダーとレンダラーを構築しています。ただし、単純なバニーテストメッシュをロードしているときはいつでも、グリッチな方法でレンダリングされており、何が原因であるかわかりません。ジオメトリの頂点と法線を使用しているだけで、テクスチャやマテリアルは使用していません。
init()
以下は、メソッドからのGL初期化コードです。
そして、これは私がモデルをレンダリングするために使用している方法です(今のところ固定パイプライン):
すべての面と頂点master
を含むメインの「グループ」はどこにありますか。チェックしました-すべてがマスターグループに入り、glNormal3fとglVertex3fがすべての三角形の必要なすべての頂点に対して呼び出されます。
誰かがそれらのグリッチを引き起こしている可能性があるものを知ることができますか?
編集1:
射影行列とモデルビュー行列を設定するために使用しているコードは次のとおりです。
android - obj ファイルからオブジェクトをレンダリングし、VBO の結果を作成すると、テクスチャまたは黒い画面が混在する
obj ファイル (android プラットフォーム、opengl es 1.1) を解析してオブジェクトをレンダリングしたい。解析は問題なく、すべてのデータ (v、vn、vt) とインデックスが別々の配列に正しく格納されています。glDrawElements を使用してレンダリングしようとすると、オブジェクトはうまく描画されますが、テクスチャが混在しています。テクスチャ座標のインデックスは頂点によって異なり、opengl は頂点インデックスのみを使用するためだと思います。インデックスで動作しないように VBO を作成しようとしました。しかし、今回は gldrawArrays を呼び出しても何も描画されません。(黒ページ)。問題の原因と、そのようなオブジェクトをレンダリングする他の方法を教えてください。
これが私のコードの一部です。他に必要な部品があれば言ってください。これは、行列を保持し、VBO を作成してオブジェクトを描画するクラス ObjectArr です。
これは私のレンダラーの unSurfaceCreated と onDrawFrame メソッドです。
私は完全に混乱して立ち往生しています。助けていただければ幸いです。tnx。