GLSL如何为几何着色器提供线条输入?

时间:2014-10-09 04:02:12

标签: opengl glsl geometry-shader

在几何着色器中使用layout(points) in时,我可以通过使用vec4提供gl_Position来简单地通过顶点着色器转发数据:

// 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_Positiongl_in[1].gl_Position来访问它?

0 个答案:

没有答案