私はこれを理解しようとしていましたが、それを行う方法を見つけることができず、実際にそれを説明するものは何もありません。モデリングのやり方、どのように顔を使って作業するのですか。しかし、彼らはメモリに保存して作業することはできません。私は主にobjを見ていましたが、残りは簡単ですが、主に配列を格納するだけですが、面では、オブジェクトで頂点の詳細を格納することしかできませんでした。そのたびにファイルから読み込むことができますが、それは間違いなく正しいでしょうか?すべての顔にオブジェクトを使用するのは夢中ですが、他の方法は考えられません! ちょうど見ている本や、正しい方向に私を指し示すものでさえ、すべてがこのようなものを飛ばしているようだからです。ありがとう。メモリに顔を保存する方法
0
A
答えて
2
顔は通常3つ以上の頂点が接続されています。つまり、各面を、頂点(または頂点へのインデックス)のリストとして格納することができます。
f0: [v0 v1 v2]
f1: [v3 v4 v5]
...
または、各顔のための頂点の量が予め定められている場合(私は賭けと思われる一般的です)、あなたは、単一のリスト/ベクトル/配列にそれを折りたたむことができ:
[/* face 1 */ v0 v1 v2 /* face 2 */ v3 v4 v5]
1
あなたが探しているのは、頂点の配列です。どのように動作するかは、各オブジェクトに頂点の配列と色が含まれていることです。頂点の法線は、この同じ配列(vertexX、vertexY、vertexZ、normalX、normalY、normalZ)に格納されます。オブジェクトをレンダリングする場合は、オブジェクトの配列をループし、各オブジェクトを次のようにレンダリングします。
float plane[] = {
10, 10, 0, 0, 0, 1,
-10, 10, 0, 0, 0, 1,
-10, -10, 0, 0, 0, 1,
10, 10, 0, 0, 0, 1,
-10, 10, 0, 0, 0, 1,
10, -10, 0, 0, 0, 1,
};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, sizeof(plane[0])*6, &plane[0]);
glNormalPointer(3, GL_FLOAT, sizeof(plane[0])*6, &plane[3]);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLES, 0, (sizeof(plane)/sizeof(plane[0]))/6);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
これは赤い平面を描くはずです。違いは、あなたのオブジェクト定義から配列を供給したいということだけです。頂点ごとに色情報を含めることもでき、上記のコードとglEnableClientState(GL_COLOR_ARRAY)にglColorPointerをインクルードするだけです。
+0
ファイルから何かをレンダリングするよりも問題が少なくなっていました。私は、必要としなかった顔に情報を保持しようとしていました。ありがとう、結構です :) – AaronM
関連する問題
- 1. Tensorflow:トレーニング中にモデルをメモリに保存する方法
- 2. イメージを電話機のメモリに保存する方法
- 3. J2ME写真を撮ってメモリに保存する方法は?
- 4. アプリケーションのモバイル状態をメモリに保存する方法は?
- 5. 最適化 - 「ビット」をメモリに保存する方法は?
- 6. イメージを内部メモリに保存する方法
- 7. 内部メモリのcsvファイルにセンサデータを保存する方法
- 8. 携帯電話のメモリにファイルを保存する方法は?
- 9. ビットマップをメモリに保持する方法
- 10. dlibのpythonで検出された顔を保存/トリミングする方法
- 11. Pythonでシングルバイトのメモリを保存する方法は?
- 12. 顔を検出してOpenCVで検出した顔を保存する
- 13. AVAudioPlayerサウンドをメモリに保存する
- 14. テンソルフローモデルをメモリに保存する
- 15. データをメモリに保存する
- 16. 外部メモリにファイルを保存する
- 17. ファイルに検出された顔のランドマークを保存する
- 18. クエリ結果をメモリに保存せずにリポジトリを実装する方法は?
- 19. Androidパーセル、メモリまたはディスクに保存されていますか?ディスクに保存する方法
- 20. 方法:メモリを保護する - strncat()?
- 21. 顔認識に顔のキーポイントを適用する方法は?
- 22. テクスチャをメモリに保存してその一部をレンダリングする方法
- 23. データベースに保存するのではなく、データをメモリに保存する
- 24. 多くの株価データをメモリに保存する最良の方法(可変)
- 25. イメージを電話機のメモリ(アンドロイド電話)にユニファイドで保存する方法
- 26. カールのクッキーをディスクではなくメモリに保存する方法
- 27. iPhoneのメモリにオブジェクトを保存してアクセスする適切な方法
- 28. PythonでDOCXを生成してメモリに保存する方法は?
- 29. IOS JSON文字列をメモリに保存してロードする方法
- 30. メモリに画像を保存する方法(内蔵ストレージではない)
私はこれを得ました、それは余分なものでした、彼らはすべてテクスチャとそれらに関連付けられているものも持っています。私が何かを見逃していない限り、これは各顔に保存する必要がありますか? – AaronM
私はそれがあなたの必要性にかかっていると思っていますが、そのような情報は通常、少なくとも頂点レベルで保存されます。顔に属する頂点をすばやく検索することができれば、顔をテクスチャリングするために必要なデータをすばやく見つけることができます。 – Skurmedel
@AaronM:私が言っていることは、すべての情報が頂点や他の場所に保存されているということですが、各頂点にはなく、各頂点には個別であるということです。 – Skurmedel