2017年09月05日

トライアングルストリップ化

こないだのランタンの3Dモデルをがんばってトライアングルストリップ化していました。
参考:
■[3DCG] TriStripperを試す
ここで紹介されているTriStripperを使ってみました。

同じ頂点を共有して次の面を描くので、間に「UVや材質の切れ目」があった場合、一つの頂点に二つ以上のUVを持つわけですからきちんと描画されません。
つまり、切れ目がある場合はそこを別のストリップにする必要があります。
そこで、
1.すべての頂点を調べて、その頂点を共有している面が複数のUVを持つ場合、
  頂点インデックスを書き換えて仮頂点とする。今回は上位ビットにフラグをつけました。
2.TriStripperでストリップ化
3.ビットマスクで上位ビットのフラグを消して書き換えた頂点を元に戻す。
4.総当たりで頂点インデックスを調べ、ストリップ前オブジェクトからUVを転写。
という方法でなんとかまともに出力できました。ふう。長かった!本当に長かった!

これによりポリゴンデータ量を約半分に削減できました。シェンムーに一歩近づいたかな?
posted by たあし at 21:22| Comment(0) | ドリームキャスト開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: