6

シェーダーに送信された頂点の配列内のインデックスに基づいて、頂点の位置を動的に計算することにより、ポイントのグリッドを作成しようとしています。シェーダー内から呼び出すことができる gl_VertexID 変数に相当するものはありますか? または、GPU にさらにデータを送信することなく、配列内の位置にアクセスする別の方法はありますか? ありがとう、ジョシュ。

ここに私の頂点シェーダーがあります:

attribute vec4 vertexPosition;
uniform mat4 modelViewProjectionMatrix;
vec4 temp;
uniform float width;

void main()
{    
    temp = vertexPosition;

    // Calculate x and y values based on index:
    temp.y = floor(gl_VertexID/width);
    temp.x = gl_VertexID - width*temp.y;

    gl_Position = modelViewProjectionMatrix * temp;
}
4

1 に答える 1

14

残念ながら、GLES2 には gl_VertexID に相当するものはありません。追加のデータを自分で作成して渡す必要があります。

于 2012-04-06T16:27:47.443 に答える