shader()

描画時に適用するp5.Shaderオブジェクトを設定します。

シェーダーはグラフィックス処理ユニット(GPU)上で実行されるプログラムです。多くのピクセルや頂点を同時に処理できるため、多くのグラフィックスタスクに対して高速です。シェーダーは GLSL という言語で書かれ、スケッチの他のコードと一緒に実行されます。 p5.Shaderオブジェクトは createShader()および loadShader()関数を使用して作成できます。

パラメータsは、適用するp5.Shaderオブジェクトです。 例えば、shader(myShader)を呼び出すと、myShaderがキャンバス上の 各ピクセルを処理するために適用されます。シェーダーは以下の場合に使用されます:

  • uniform sampler2Dを含む場合、テクスチャが有効な時の塗りつぶし。
  • attribute aNormalを含む場合、またはuniform uUseLightinguAmbientLightCountuDirectionalLightCountuPointLightCountuAmbientColoruDirectionalDiffuseColorsuDirectionalSpecularColorsuPointLightLocationuPointLightDiffuseColorsuPointLightSpecularColorsuLightingDirection、またはuSpecularのいずれかを含む場合、ライトが有効な時の塗りつぶし。
  • ライトやテクスチャがない場合の塗りつぶし。
  • uniform uStrokeWeightを含む場合のストローク。

p5.Shaderオブジェクトの フラグメントシェーダーと頂点シェーダーのソースコードは、初めて shader()に渡されたときにコンパイルされます。 シェーダーのコンパイルについての詳細は MDN を参照してください。

resetShader()を呼び出すと、スケッチの デフォルトシェーダーが復元されます。

注意:シェーダーはWebGLモードでのみ使用できます。

実例

シンタックス

shader(s)

パラメーター

s
p5.Shader:

適用するp5.Shaderオブジェクト。

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/material.js and open a pull request!

関連するリファレンス