WebGLシェーダーでTHREE.jsを使用しています。フラグメントシェーダーでfloat番号の配列を宣言したいと思います。GLSL定数float配列は、次のように定義されます。
#define KERNEL_LENGTH 9
const float kernel[KERNEL_LENGTH] = {
1.0/16.0, 2.0/16.0, 1.0/16.0,
2.0/16.0, 4.0/16.0, 2.0/16.0,
1.0/16.0, 2.0/16.0, 1.0/16.0
};
私も試しました:
#define KERNEL_LENGTH 9
const float kernel[KERNEL_LENGTH] = float[KERNEL_LENGTH](
1.0/16.0, 2.0/16.0, 1.0/16.0,
2.0/16.0, 4.0/16.0, 2.0/16.0,
1.0/16.0, 2.0/16.0, 1.0/16.0
);
しかし、WebGLでは、どちらも機能しません。エラー情報:
エラー:0:44:'カーネル':配列は初期化できないため、定数として宣言されない可能性がありますエラー:0:44:' =':構文エラー
では、const floatの配列をどのように定義する必要がありますか?