openGL使用纹理
3 月,跳不动了?>>> 采样:利用纹理坐标取得纹理颜色 采样器: 片段着色器也应该能访问纹理对象,但是怎样能把纹理对象传给片段着色器呢?GLSL有一个供纹理对象使用的内建数据类型,叫做采样器(Sampler),它以纹理类型作为后缀,比如 sampler1D 、 sampler3D ,或 sampler2D 。可以简单声明一个 uniform sampler2D 把一个纹理添加到片段着色器中,稍后把纹理赋值给这个uniform。 OpenGL至少保证有16个纹理单元供你使用,也就是说你可以激活从GL_TEXTURE0到GL_TEXTRUE15。它们都是按顺序定义的,所以也可以通过GL_TEXTURE0 + 8的方式获得GL_TEXTURE8,这在当我们需要循环一些纹理单元的时候会很有用。 #version 330 core out vec4 FragColor; in vec3 ourColor; in vec2 TexCoord; uniform float mixValue; // 采样器:解决了如何将纹理对象传给片段着色器 //纹理单元· uniform sampler2D texture1; //这个片段着色器的输出就是纹理的(插值)纹理坐标上的(过滤后的)颜色。 void main() { FragColor = texture(texture1, TexCoord) *