ジオメトリ シェーダーで使用layout(points) in
する場合、gl_Position にvec4
:
// Vertex Shader
in vec2 position;
void main()
{
gl_Position = vec4(position, 0.0, 1.0);
}
// cpp file
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW);
GLint posAttrib = glGetAttribLocation(shaderProgram, "position");
glEnableVertexAttribArray(posAttrib);
glVertexAttribPointer(posAttrib, 2, GL_FLOAT, GL_FALSE, 0, 0);
そしてgl_in[0].gl_Position
、ジオメトリシェーダーでアクセスできます。
しかし、代わりに を使用してジオメトリ シェーダーに入力を取りたい場合はどうすればよいlayout(lines) in
でしょうか? 頂点シェーダーを介して値を転送することでこれを行うことができますか、それとも別の方法がありますか?
要するに:gl_in[0].gl_Position
およびを使用してアクセスできるように、ジオメトリ シェーダーにライン データを提供するにはどうすればよいでしょうgl_in[1].gl_Position
か?