繁体   English   中英

OpenGL UV 的行为很奇怪吗?

[英]OpenGL UVs behave weird?

我正在尝试实现一个使用 OpenGL 创建 GUI 的系统。 对于像位图字体这样的一些应用程序,最好为应该在对象上渲染的纹理设置一个偏移量。

所以我在顶点着色器中的偏移看起来像这样:

UV = vec2(uv.x, 1.0f - uv.y) + vec2(texOffset.x, texOffset.y);

我使用一个矩形测试了我的偏移量,该矩形的偏移量不断变大。

在 x 轴上添加这个偏移量看起来像这样: https : //youtu.be/z7bKgb7zcPc很好。

在 y 轴上使用我的偏移量看起来像这样: https : //youtu.be/2S_duM5JK_w这也很好。

但是现在在 x 轴和 y 轴上应用偏移量看起来像这样: https : //youtu.be/t_aJbQwbagw这不好。

它不应该像这样移动: https : //youtu.be/0GzPRpIaabE

为什么我的结果与我期望的不同?

所以我发现了问题。 OpenGL 中没有错误,问题是我的 x 轴的偏移量是错误的。

我期望正 x 偏移,纹理向右移动。 但我忘了实现所需的翻转。 但是我不记得了,所以按照我的预期,输出是错误的,但只是我......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM