我正在制作这个 open gl 应用程序,我需要将纹理渲染到屏幕四边形。我的要求是,出于特定原因,应将四边形的大小调整为纹理的宽度和高度。为了测试调整大小,我决定
transformation = Matrix4.CreateScale(0.5f,0.3f,0);
我得到了结果 [1]: 我能够认识到问题是紫外线坐标没有相应地缩放。 这是顶点着色器:
#version 460 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aTexCoord;
out vec2 TexCoord;
uniform mat4 model;
void main()
{
TexCoord = aTexCoord;
gl_Position = vec4(aPos, 1.0f) * model;
}
紫外线坐标是正确的,并且在正常时显示。我认为它应该在比例中显示整个图像..
谢谢你。
更新:我解决了问题.. 主要原因:原因是因为我有一些后处理效果,而且我没有使用texcoord作为示例,我只是计算了屏幕uvs..笨我哦好吧! 😅