gpt4 book ai didi

c++ - 轮廓字体上下颠倒 - glOrtho() 设置不正确

转载 作者:行者123 更新时间:2023-11-30 00:37:07 24 4
gpt4 key购买 nike

我正在 OpenGL 中创建一个应用程序,我在其中使用 glOrtho(),原点位于左上角:

glOrtho(0.0, width, height, 0.0, 0.0, 1.0);

直到我尝试渲染轮廓字体时,我才发现它是错误的,它看起来是颠倒的。在搜索有关它的信息后,我偶然发现了一个网站,在该网站上我读到我的起点应该从左下角开始。

我知道 OpenGL 使用左下角原点,但我发现使用左上角原点对我来说更容易。我只需要水平翻转所有纹理,一切正常。但是,是的,问题出现在那些上下颠倒的轮廓字体上。

现在要更改原点,我必须更改一堆代码,所以如果没有必要,我真的很想避免这种情况。

所以我的问题是:我使用左上角原点的方法是不是非常错误?如果没有,有没有办法让这些轮廓字体正确显示?

最佳答案

您正在某处渲染该字体,对吗? 您如何渲染它,当时是什么阻止您应用垂直镜像变换​​矩阵?

即如果您使用的是老式的、过时的方法:

glScalef( 1, -1, 1 );
glCallList(font); // Or whatever you are doing to render the outline font

或者,如果您正在使用着色器,让您的顶点着色器执行如下操作:

  Vec4 position = aPosition;
position.y = -1 * position.y;
gl_Position = aMVPMatrix * position

当然,这都是伪代码。

关于c++ - 轮廓字体上下颠倒 - glOrtho() 设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com