私は、フラグメントシェーダの円弧に沿ったテクスチャからサンプルを探しています。そのような種類の再帰的な方法は、thisのようなルールです。円弧分割アルゴリズム
私はこれを実現するには、いくつかの異なる方法が出ている:最も合理的なように見える2つは、(ラジアンとN
位置に開始位置p
、中央c
、半径r = length(c-p)
、角度(円弧範囲)theta
を考えると)されています
1)theta/N
、N
倍〜約ベクターPCを回し:コストは、2つの三角関数、N
2x2の行列乗算、N
ほどベクトル減算
2)セクタを横断する1つのセグメントのコード長を探します。長さは2*r*sin(theta/2)
です。私は最初のベクトルを持っていれば、それを回転させて前の位置に加えて、私の弧に沿って歩進することができます。この方法の問題は、私はまだ私の長さ2*r*sin(theta/2)
ベクトルの方向を取得するための表現を知らないということです。私がしたとしても、それを構築するにはtrig関数が必要になるだろう。私はまだそれを回転させる必要があるので、回転行列を構築する必要があります。ああ。
他にも考えられる方法はありますか?
「サンプルを円弧に沿ってサンプルする」ということを詳しく説明できますか?各ピクセルの周りの円(または円の一部)でサンプリングしますか?そして、アークはすべてのピクセル(同じ角度および/または半径)で同じになるでしょうか?または、他の何か?また、なぜあなたはこれをやろうとしていますか?ラジアルなぼかしを作り出そうとしていますか? – user1118321
私は何をしているのか正確には明らかにしません。うまくいけば、あなたはいつかゲームでそれを見るでしょう。半径方向のボケに関しては、許容可能な結果は、通常、線に沿ってサンプリングすることによって得られる。 –
これは、より多くのカーブしたぼかしです。剛体の動きに追従するぼかし、正確には、固定された中心(回転)と直線運動の周りの円運動の線形結合です –