楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル

log

2010.10.01 C++:if文を使わないHLSLの計算方法

今まで速度を計らずにトゥーンインクを使用していたんですが、
実はトゥーンシェーディングよりもトゥーンインクの方が重かった
のでした。。(といっても、これはもちろん環境に依るんですけど;)

そこで、ちょっとくらい早くなるかなと思い、if文の部分をif文を
使わずに記述してみましたが、、うーんほとんど変わらないなあ。
現在トゥーンインクを使用した状態で6体以上表示させると一気に
25fpsまで下がってしまうのですが。せいぜい1fps程度向上して
いるような、していないような。まぁ、if文はまだ1つしか使用して
いないので微妙な感じです。

とりあえず、if文を使わない書き方を少しだけメモしてみます。
・aを1.0以上の場合は0.0にループ丸めしたいとき
→端数丸めを使う:a -=trunc(a);
・ブールbによる値切り替えb ? z=c : z=dをしたいとき
→z = b*c + (1-b)*d;

if文くらいだったら使わずに記述できるのかもしれないですね。
というか、そろそろ日記の分類がいい加減になってきました。
今回の分類をC++にしたけど、全くC++と関係ないからなあ苦笑。