OpenGL ES - 像素“干扰”在纹理的底部

发布于 2024-12-25 14:36:44 字数 310 浏览 1 评论 0原文

我正在从 UIImage 加载 RGBA 像素数据的 int* 数组,对其进行操作,然后将像素设置到 Glubyte* 纹理缓冲区并将它们写入纹理

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, texBuffer);

这工作正常,但是我得到了一些奇怪的像素化“干扰” “在屏幕底部。

任何人都知道可能导致这种影响的原因是什么?

编辑:我自己解决了这个问题,请参阅我的答案

I'm loading an int* array of RGBA pixel data from a UIImage, doing manipulation on it, then setting the pixels to a Glubyte* texture buffer and writing them to the texture with

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, texBuffer);

This works fine, however I get some weird pixelation "interference" at the bottom of the screen.

Anyone have any idea what might be causing this effect?

EDIT: Solved this myself, see my answer

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

路弥 2025-01-01 14:36:44

这里的问题出在 int* 缓冲区声明中,它应该是:

int* pixelArray = malloc(4*w*h);

The problem here was in the int* buffer declaration, it should have been:

int* pixelArray = malloc(4*w*h);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文