トップページ⇒tech
4コメント1KB

アルファブレンドの高速化??

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
アルファブレンドをやっているんですが
計算方法で速いアルゴリズムがあったら教えてください。

現在、こんな計算方法をしています。
*dst :転送先アドレス
*src :転送元アドレス
*adr :参照用アドレス
alpha :何パーセントか
alpha_sft:アルファブレンドのシフト用
alpha_rit:アルファブレンドの100%

1:*dst = (((*src - *adr) * alpha) >> alpha_max) + *adr;
2:*dst = ((*adr * (alpha_rit - alpha)) + (*src * alpha)) >> alpha_sft;

C言語上は、1の方が速いのですが、
アセンブラ(MMXを使っているとき)を使うと2のほうが速いのです。
私がやったアセンブラのソースでは

こうした方が速いってのがあったら教えてください。
0002名無しさん@お腹いっぱい。NGNG
カラーモードによってやり方が異なる
その辺りが明記されていないので
------------------- 終了 ----------------------
0003>1NGNG
で、alpha_maxって何?
0004へぼPG NGNG
見た感じ8bitずつやってるよね
まとめてやるくらいしか思いつかない
サポートしてるなら半透明テクスチャが速い
■ このスレッドは過去ログ倉庫に格納されています