リファレンス createFilterShader()

createFilterShader()

filter()関数で使用するp5.Shaderオブジェクトを作成します。

createFilterShader()createShader()と同様に機能しますが、デフォルトの頂点シェーダーが含まれています。createFilterShader()filter()と一緒に使用して、キャンバスの内容をフィルタリングすることを目的としています。フィルターシェーダーはp5.Geometryオブジェクトだけでなく、キャンバス全体に適用されます。

パラメータfragSrcはフラグメントシェーダーを設定します。これはGLSLで書かれたフラグメントシェーダープログラムを含む文字列です。

作成されたp5.Shaderオブジェクトには、設定可能ないくつかのユニフォーム変数があります:

  • sampler2D tex0:キャンバスの内容をテクスチャとして含みます。
  • vec2 canvasSize:ピクセル密度を含まないキャンバスの幅と高さです。
  • vec2 texelSize:ピクセル密度を含む物理的なピクセルのサイズです。これはピクセル幅に対して1.0 / (width * density)、ピクセル高さに対して1.0 / (height * density)として計算されます。

作成されたp5.Shaderは、varying vec2 vTexCoordも提供します。これは0から1の間の値を持つ座標です。vTexCoordは、ピクセルがキャンバス上のどこに描画されるかを示します。

フィルターとシェーダーについての詳細は、Adam Ferrissのシェーダー例のリポジトリシェーダー入門チュートリアルを参照してください。

実例

シンタックス

createFilterShader(fragSrc)

パラメーター

fragSrc
String:

フラグメントシェーダーのソースコード。

リターン

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!

関連するリファレンス