0
我想渲染纹理与OpenGL + GLSL着色器。首先,我试图用白色填充30x30纹理的每个像素。我传递到0到899的顶点着色器索引,表示纹理的每个像素。它是否正确? 顶点着色器:Opengl GLSL渲染纹理
flat in int index;
void main(void) {
gl_Position = vec4((index % 30)/15 - 1, floor(index/30)/15 - 1, 0, 1);
}
片段着色器:
out vec4 color;
void main(void) {
color = vec4(1, 1, 1, 1);
}
我想呈现900顶点,因为我想能够改变纹理的每个像素的颜色,我使用GL_POINTS。 – user1760770
@ user1760770:welll,您也可以使用该四合一应用更改每个单点的颜色。为每个片段调用片段着色器。如果您担心如何通过片段着色器获取数据:纹理是standrad的答案。您甚至可以使用TBO直接访问FS中的某个缓冲区对象。 – derhass
我不太清楚如何在片段着色器中获取片段的位置。 – user1760770