フラグメント シェーダーから同時にアクセスする必要がある N 個のテクスチャ ユニットがあります。N は、ロードされるデータによって異なります。したがって、シェーダーでは、次のようなものが必要です。
// illegal syntax?
uniform sampler2D tex[N];
また、sampler2DArray は OpenGL ES 2.0 ではサポートされていないようです。
上記を達成するために使用できる他のトリックまたはGLSLプリプロセッサ構造があるかどうか疑問に思っています。
または、シェーダー コードを動的に生成するためのより良いオプションはありますか? 以下のコードのようなものを生成し、シェーダーをロードできます。
uniform sampler2D tex1;
...
uniform sampler2D texN;