Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 2.1 KB

Material.md

File metadata and controls

32 lines (21 loc) · 2.1 KB

マテリアル

Altseed2では描画方法をマテリアルにより拡張できます。 例えば、画像をそのまま表示するのではなく、反転させたり合成されたりスクロールしたりして表示できます。

マテリアルを使用するためには、シェーダーを先に用意する必要があります。 シェーダーはHLSLというプログラミング言語で描画方法を記述して、そのソースコードを元に生成します。

HLSLには制約があります。

  • 頂点シェーダーとピクセルシェーダー間のデータ受け渡し用の構造体の定義は完全に一致する必要があります。
  • サンプラーとテクスチャは隙間なく敷き詰める必要があります。
  • 頂点シェーダーでテクスチャを使用する場合、ピクセルシェーダーでも同じテクスチャとサンプラーの定義を書く必要があります。
  • includeはファイルからシェーダーのソースコードを読み込んだ場合のみ有効です。

シェーダーを作成し、マテリアルに設定します。 そうすると、設定されたシェーダーをマテリアルで使用して描画します。

作成したマテリアルは様々なクラスに割り当てられます。

シェーダーは、直接Altseed2が動いているプログラミング言語の文字列をソースコードとして作成する方法と、テキストファイルを読み込んで作成する方法の2種類があります。 テキストファイルを作成する手間はありますが、includeを使用できるメリットがあります。

マテリアルにはアルファブレンドを設定できます。 描画される先と描画する画像の間で、画像同士をどのように合成するかを指定できます。 下図の画像は、標準で提供されているOpacity, Normal, Add, Subtract, Multiplyの合成結果です。 これら以外にも自由に合成方法を指定できます。

AlphaBlend

[!code-csharpMain]