Wavefront obj ファイルからインポートしたオブジェクトをレンダリングしたい。オブジェクトには複数のグループとマテリアルがあります:
# group one
g one
v ...
vt ...
vn ...
# material A
usemtl ...
f ...
# material B
usemtl ...
f ..
# second group
g two
v ...
vt ...
vn ...
# material C
usemtl ...
f ...
# material D
usemtl ...
f ...
モデルのさまざまな部分は異なるマテリアルを持っているため、別々にレンダリングする必要があります。
モデルに関する情報を含むコンテナーを作成します。レンダリングするオブジェクトの「キュー」を整理するための最良/一般的な方法を知りたいです。
それが良いかどうかわからない私の考えは次のとおりです(疑似コードを使用):各グループg
はすべての頂点情報をオブジェクトに保存しVertexInformation g1, g2
、各グループusemtl
は面(および使用されるマテリアル)に関する情報を に保存しFaceInformation f1, f2, f3, f4
ます。
次に、レンダリングは次のようになります。
load vertices g1
render f1 f2
load vertices g2
render f3 f4
それとも、一度にすべての頂点をロードするほうがよいのでしょg1
うg2
か?
その通りですか?それとも、いくつかの大きな欠点がありますか?