過去の質問から同様の疑問があるかないか探してみたところ、
http://dixq.net/forum/viewtopic.php?f=3&t=10282
>MV1GetSemiTransState モデルに半透明要素があるかどうかを取得する
>部分的に半透明が含まれる場合は、MV1DrawFrame や MV1DrawMesh で描画する必要ありますので、そのため次のような関数が用意されています。
>MV1GetFrameSemiTransState フレームに半透明要素があるかどうかを取得する
>MV1GetMeshSemiTransState メッシュに半透明要素があるかどうかを取得する
と回答がありました
自分が考えるにはメッシュ(つまりテクスチャ?)の半透明要素を見て、Zソートを判断するというのは分かるんですが
フレームの半透明要素?というのは、一体何なのでしょうか?
また、どのように実装したら軽快でしょうか?
描画時にすべてのモデルをループして判断する必要は無いと思うのでモデルハンドルをクラス化して管理しようと思うのですが
class TransparencyModel : public ModelBase{
TransparencyModel(int ModelHandle);
vector<int> TransparencyMesh;//透明なMeshの番号、モデルのロード時に探す
};
テクスチャだけをまとめてどのようにZソートしたらいいのかイマイチわかりません。
Zソート用に、
というクラスを作ってSTL::sortに突っ込むのでしょうか