ロードのインターフェイス。描画に関係しないシステム的な部分。(地面)あと、モデルと実行ファイル及び、プロジェクトファイルが入っています。氏が開発したノイズです。アルゴリズム」の開発で1997年にアカデミー技術賞を受賞しているつわものです。毎年のように発表されており、この分野では非常に有名な方です。ノイズは、複数のノイズを合成して1つのノイズを作ります。合成するノイズは、サンプリング周波数が2のべき乗で増加します。このとき乱数のゆれ(振幅)を小さくしていきます。小さいほどなだらかなノイズを作ることができます。なだらかさは、合成するノイズの個数(オクターブ数)でも調整することができます。オクターブというかは、ノイズのサンプリング周波数が2のべき乗であがるから名づけられました。周波数が2倍高い音は1オクターブ上の音です。その音楽用語との連想で、オクターブという言葉が使われています。高いオクターブのノイズは、細かな部分を表現できるので、より細かいノイズを作ることができます。小」ないし、「オクターブ大」の画像が今回のタイトル絵で使っているノイズです。作成したノイズを10倍して、さらに小数部を採用してギザギザの模様を作ります。サンプリングする中間では、値の補間をします。(あとで気づいたのですが、三角関数はもっとなだらかにつながるように調整されます)。計算のしやすさや結果の違いの好みで選べばいいでしょう。■ソースファイルそれではプログラムを見ていきましょう。今回は、特別なシェーダは全くありません。テクスチャーの生成は初期化時に行います。使って、算出的に生成します。hr;実際のテクスチャの生成は次のようになります。適当に決めておきます。オクターブの回数だけノイズを足しこんでいきます。オクターブがあがるごとに、振幅は小さく、周波数は高くしていきます。あとは、年輪のようにするように、繰り替えしを付けます。具体的には、10倍して、その小数部をとります。すれば、元のノイズが0から1に変化した段階で10個の年輪ができます。最後に色をつけて出力すれば、1つのテクセルに関する色が求まります。この関数は、0から1の大きさで各オクターブに応じたノイズを生成します。}オクターブごとの違いを表現しましょう。オクターブが違えば、周波数が高くなります。周波数は、サンプリングの個数、すなわち繰り返しの回数です。繰り返しの中の何番目かを示します。テクセル座標に依存した(同じ座標値を与えた時に、常に同じ乱数を返すような)乱数です。配列として乱数を用意しました。乱数の値は、使いやすいように、0~1の範囲にしました。(float)rand()/(float)RAND_MAX;配列の大きさは適当です。小さいと周期性が見えてしまうので、テクスチャサイズとオクターブ数で割った程度の大きさを用意します。曲線のパッチを使いました。引き渡すパラメータの値は、繰り返しの中での0から1の間のパラメータになります。テクセル座標に応じて、周期的になるように乱数のコントロールポイントを決めます。オクターブが違えば別の乱数を得るように調整しています。曲線を2重に使用することによって、2次元的に補間をします。0から1の間で動くと、コントロールポイントの中央の4点の値が補完されます。テクスチャを実際に張るのは円柱座標を使って張っていますが、枝葉の部分なので説明は省略します。リアルタイムで実現していきたいですね。もどるimagire@gmail.com。