在GLSL中用in修飾的變量表示傳入的數據,用out修飾的變量表示傳出的數據,通過這樣可以實現頂點着色器向片段着色器傳遞數據,但要注意這個變量的命名要相同,不相同的話,片段着色器是獲取不到從頂點着色器傳入的數據的。
1.頂點着色器
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aColor;
layout (location = 2) in vec2 aTexCoord;
out vec3 ourColor;
out vec2 texCoord; // 從頂點着色器中傳出數據
2.片段着色器
#version 330 core
out vec4 FragColor;
in vec3 ourColor;
in vec2 TexCoord; // 和頂點着色器中傳出的變量的命名不同,因此他的值爲0
in vec2 texCoord; // 成功傳入數據