织构化
纹理化包括使用紫外坐标将某种颜色或其他种类的矢量映射到片段上。铀和钒的范围从零到一。每个顶点得到一个紫外坐标,并在顶点着色器中输出。
片段着色器接收插值的紫外线坐标。插值意味着片段的紫外坐标介于组成三角形面的顶点的紫外坐标之间。
顶点
#version 150
uniform mat4 p3d_ModelViewProjectionMatrix;
in vec2 p3d_MultiTexCoord0;
in vec4 p3d_Vertex;
out vec2 texCoord;
void main()
{
texCoord = p3d_MultiTexCoord0;
gl_Position = p3d_ModelViewProjectionMatrix * p3d_Vertex;
}
这里您可以看到顶点着色器将纹理坐标输出到片段着色器。注意这是一个二维向量。一维为U,一维为v
碎片
#version 150
uniform sampler2D p3d_Texture0;
in vec2 texCoord;
out vec2 fragColor;
void main()
{
texColor = texture(p3d_Texture0, texCoord);
fragColor = texColor;
}
在这里,您可以看到片段着色器在紫外坐标处查找颜色,并将其作为片段颜色输出。
屏幕填充纹理
#version 150
uniform sampler2D screenSizedTexture;
out vec