私はいくつかの線をプロットしていて、それらをフェードアウトさせたいと思っています。シェーダーコーディングは初めてで、何が問題なのかわかりません。線のベクトル配列と変換行列、均一な色とフェードの開始点を渡します。可変を使用して、頂点シェーダーからフラグメント シェーダーへのライン上の位置を渡します。コードは、フラグメント シェーダーがコンパイルされていないことを示しています。
頂点シェーダー
attribute vec4 position;
uniform mat4 matrix;
varying vec4 pointLocation;
void main() {
gl_Position = matrix * position;
pointLocation = gl_Position;
}
フラグメント シェーダー
precision mediump float;
uniform vec4 uniformColor;
uniform vec1 fadeStart;
varying vec4 pointLocation;
void main() {
lowp vec1 distance;
lowp vec4 color;
color = uniformColor;
distance = pointLocation.x - fadeStart;
if (distance < 30) {
color.w = distance / 30;
}
gl_FragColor = color;
}