gpt4 book ai didi

iphone - 使用 OpenGL 在 iPhone 上扭曲图像

转载 作者:行者123 更新时间:2023-12-03 21:21:43 25 4
gpt4 key购买 nike

我对编程还很陌生,目前我这样做只是为了教育自己并享受乐趣。

尽管阅读了这篇很棒的文章 here,但我在理解一些 OpenGL 内容时遇到了很多困难。 。我还从苹果开发者网站下载并使用了一个示例,该示例使用 .png 图像作为 Sprite 。我最终确实想使用图像。

我想做的就是拍摄一张图像并对其进行扭曲,使其四个角最终位于我提供的四个不同的 x,y 坐标处。这将是一种计时器(CADisplayLink?),其中一个或多个点在每一时刻都会发生变化。我只是想在这些动态点之间拉伸(stretch)它。

我只是无法准确理解它是如何工作的。由于我在开发人员中心理解了一些示例代码,因此我可以使用:

glVertexPointer(2, GL_FLOAT, 0, spriteVertices);

其中 spriteVertices 类似于:

const GLfloat spriteVertices[] = {
-0.90f, -.85f,
0.95f, -0.83f,
-0.85f, 0.85f,
0.80f, 0.80f,
};

问题是我不明白这些数字的实际含义,为什么有些数字前面有负数,以及他们从哪里开始计算四个角。我需要如何更改我得到的正常 x,y 坐标才能将它们插入其中? (我的 x,y 数字看起来不像 1 到 0 之间的数字,不是吗?我想要类似于每像素精度的东西。

任何帮助都将不胜感激,即使它只是更多阅读的链接。我在为新手寻找资源时遇到困难。

最佳答案

它并不像乍看起来那么复杂。每对数字都与屏幕上的 x,y 位置相关。因此,0.80f、0.80f 表示 x 和 y 都达到可绘制区域的 80%(从左到右,从下到上)。而-0.80,-0.80表示从右到左、从上到下到达可绘制区域的80%。负面因素只是改变了立场。值得注意的是,openGL 是从下到上绘制的(就像您从地面仰视一座建筑物一样),而 iPhone 是从上到下绘制(就像您在看书一样)。

要获取像素,请将浮点值乘以可绘制区域 1024 X 0.8 = 819.2。

本教程是针对纹理的,但它非常棒,并且确实可以帮助您学习坐标系: http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-part-6_25.html

关于iphone - 使用 OpenGL 在 iPhone 上扭曲图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972626/

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