スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

TriangleListとTriangleStrip

DirectXやらでは、ポリゴンを描画するときに必要な情報のうち、頂点データと頂点インデックスというものがあって、とくに頂点インデックスはプリミティブトポロジと密接に関係していて、これが適切でないとちゃんと描画されない。プリミティブトポロジってのは要するに頂点データをどういうふうにたどって三角形を描くか、ということのとり決めだね。
ふつーに描画するぶんにはTriangleListというトポロジで描画するとデータをつくるのが楽。


以下あたまのおかしながぞうがあるのでおこさまはみるとしぬ


で、描画コストという面でかんがえると、難しいことは省くと頂点インデックスの量が多ければ多いほど描画コストが高くなる。
そんでTriangleListとTriangleStripで描画するとしたらTriangleListのほうが頂点インデックスの量が多くなる。

頂点インデックスをいじくって描画コストを下げてパフォーマンス上げたいと思っていろいろやっててこのトポロジをどうにかするといいかもしれない、という感じに至ったんだけど、じゃあどうやってTriangleStrip向けのインデックスを作るんだい?
という話に。
https://msdn.microsoft.com/ja-jp/library/bb205124(v=vs.85).aspx
このように、トポロジによってインデックスの解釈のされかたが大きくかわるわけだ。もちろんTriangleList向けのインデックスはTriangleStripで描画するとぐじゃぐじゃになります。

考えてもいい方法が思いつかなかった&ちょっとやってみたけど一朝一夕に組めるものでもないなと判断したのでなにかソースを探して見つけたのがこれ
http://users.telenet.be/tfautre/softdev/tristripper/

つーかこれはC++のものなのでC#で使うためにラッパー作るほうに時間食われた。超めんどっちい。
このライブラリはインデックスを食わせると細切れの複数のTriangleStrip向けとTriangleList向けのインデックスを出力する。
TriangleList分は細切れのをすべてつなげてOK。TriangleStrip向けのは個々の一連Stripを正しく描画するために間に縮退トライアングルを差し込む必要がある。そうしないと意図しない謎のポリゴンでモデルがぐじゃぐじゃになる。
でわくわくしながら描画。
スクリーンショット 2015-01-25 12.24.27
・・・。
 邪悪な紋章のようなパターンが。
 インデックスからそのポリゴンが裏になるか表になるかを判定するのはどうしたらいいのか、と悩んだのでカリングなしで描画することにした。

見るのは左上の数字
スクリーンショット 2015-01-25 12.52.23
↑Strip最適化前
スクリーンショット 2015-01-25 12.52.50
↑Strip最適化後
スクリーンショット 2015-01-25 13.25.13
↑品質オプション全部オフ

グラボはGTX660。

結果的には30fps近く改善するっていう結果。品質オプションを全部はずすと結構な感じの数字。
OculusRiftのためにも少しでも稼ぎたいところ。
というか、途中のデータがないんだけど、キャラクターの服データが一つで1万5千トライアングルくらいの数字になってることに気付いて、そんなにいらんやんと思ってトライアングル減らして160fps前後→180fps前後まで改善させた
あとなので一連の結果というには最初の結果のスクショがないのがアレだけど。
うむ。これでパーティクルをもっと出せるぞ(
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

zerobyteorbit

Author:zerobyteorbit
deathpiyoがgameをdevelopしたり、musicをcomposeしたり迷走したりする。

現在は迷走中。

under the lotusはリビルドのために考え中。

deathpiyo twitter

UnderTheLotus test3h(download)
I'm thinking about rebuilding UTL.


同人音楽アルバム
[Lovers Immortality]
-Japanease-
Lovers Immortality -works until worldend- DLsite.com直リンク
Melonbooks DL
-English-
Lovers Immortality -works until world end- Link to DLsite.com

18+
【東の森の魔女2 VS 魔王 -終宴する世界と肛虐(逆)の魔女たち-】
東の森の魔女2 VS 魔王 -終宴する世界と肛虐(逆)の魔女たち- DLsite.com直リンク
DMM.同人

紹介ページ


【地下迷宮の機械姦自壊オナニー生活。】
地下迷宮の機械姦自壊オナニー生活。 DLsite.com直リンク
DMM同人

紹介ページ




DLSite
Link to DLsite.com

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。