私は(C#で)イメージの摂動アルゴリズムを実装しようとしています(「テクスチャリングとモデリング-K.パーリンら」(誰かが持っている場合は91ページ))で、イメージを歪めています。次のコードはRenderman言語で記述されています。テクスチャアクセス
Ct = texture("example.tx", s, t);
に置き換えられます
point Psh;
float ss, tt;
Psh = transform("shader", P);
ss = s + 0.2 * snoise(Psh);
tt = t + 0.2 * snoise(Psh+(l.5,6.7,3.4));
Ct = texture("example.tx", ss, tt);
私が理解していないことから、座標にアクセスする代わりに、わずかに摂動した座標にアクセスしそれらを場所に表示して、わずかに摂動したように見える画像を作成します。
はとして定義され、からにノイズをマッピングし、RenderManのドキュメントでは、Pがポイントである返します。ノイズに基づく値(おそらくパーリンまたはラティス)。(http://renderman.pixar.com/resources/current/RenderMan/noiseFunctions.html)
私が理解していないのは、3DポイントPを「シェーダー」空間にマッピングすることになっている変換関数の機能と、それを実装する方法です。また、noise(x)が3dポイント、float(より理にかなっている)を返すかどうか、また、Perlinのノイズの単純な2d実装を使用して同じ目的の効果を得ることができるかどうかもわかりません。