前: Texture と TextureSpec 次: ユーザインターフェイスの追加

3. 単純なテクスチャ

この章では、赤と白のストライプを無限に繰り返すパターンから成る、とても単純な手続きテクスチャを1つ作成します。完全なソースコードは Stripes1.java にあります。以下は getTextureSpec() メソッドの実装です。
public void getTextureSpec(TextureSpec spec, double x, double y, double z, double xsize, double ysize, double zsize, double t, float param[])
{
  if (x-Math.floor(x) < width)
    spec.diffuse.copy(color1);
  else
    spec.diffuse.copy(color2);
  spec.specular.setRGB(0.0f, 0.0f, 0.0f);
  spec.transparent.setRGB(0.0f, 0.0f, 0.0f);
  spec.emissive.setRGB(0.0f, 0.0f, 0.0f);
  spec.bumpGrad.set(0.0, 0.0, 0.0);
  spec.roughness = spec.cloudiness = 0.0;
}
このメソッドで参照されるさまざまなパラメータは、以下のコンストラクタで設定されます。
public Stripes1()
{
  color1 = new RGBColor(1.0f, 0.0f, 0.0f);
  color2 = new RGBColor(1.0f, 1.0f, 1.0f);
  width = 0.5f;
}
ご覧のように非常に単純なテクスチャです。これは X 要素の分数部分だけを見て、それに従って2つの拡散反射色のうち1つに設定します。

このテクスチャを Art of Illusion で使うには、シーンメニューから「テクスチャ,材質...」コマンドを選択して「新規...」をクリックします。Plugins ディレクトリに TutorialTexture.jar を既に入れてあれば、テクスチャのタイプの選択肢として "Stripes 1" がリストに表示されているはずです。それを選択してテクスチャ名を入力、そして "OK" をクリックします。ほかのテクスチャの場合と同じように、このテクスチャをオブジェクトに割り当てることができます。

テクスチャは以下の図のようになります。

約束どおりの、赤と白のストライプです!

前: Texture と TextureSpec 次: ユーザインターフェイスの追加