屏幕四边形的 UV 坐标未转换

问题描述 投票:0回答:1

我正在制作这个 open gl 应用程序,我需要将纹理渲染到屏幕四边形。我的要求是,出于特定原因,应将四边形的大小调整为纹理的宽度和高度。为了测试调整大小,我决定

transformation = Matrix4.CreateScale(0.5f,0.3f,0);

我得到了结果 [1]:https://i.stack.imgur.com/jf0Ty.png 我能够认识到问题是紫外线坐标没有相应地缩放。 这是顶点着色器:

#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;
    }

紫外线坐标是正确的,并且在正常时显示。我认为它应该在比例中显示整个图像..

谢谢你。

c# opengl graphics opentk
1个回答
0
投票

更新:我解决了问题.. 主要原因:原因是因为我有一些后处理效果,而且我没有使用texcoord作为示例,我只是计算了屏幕uvs..笨我哦好吧! 😅

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.