描画時に適用するp5.Shaderオブジェクトを設定します。
シェーダーはグラフィックス処理ユニット(GPU)上で実行されるプログラムです。多くのピクセルや頂点を同時に処理できるため、多くのグラフィックスタスクに対して高速です。シェーダーは GLSL という言語で書かれ、スケッチの他のコードと一緒に実行されます。 p5.Shaderオブジェクトは createShader()および loadShader()関数を使用して作成できます。
パラメータs
は、適用するp5.Shaderオブジェクトです。 例えば、shader(myShader)
を呼び出すと、myShader
がキャンバス上の 各ピクセルを処理するために適用されます。シェーダーは以下の場合に使用されます:
- uniform
sampler2D
を含む場合、テクスチャが有効な時の塗りつぶし。 - attribute
aNormal
を含む場合、またはuniformuUseLighting
、uAmbientLightCount
、uDirectionalLightCount
、uPointLightCount
、uAmbientColor
、uDirectionalDiffuseColors
、uDirectionalSpecularColors
、uPointLightLocation
、uPointLightDiffuseColors
、uPointLightSpecularColors
、uLightingDirection
、または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!