Android opengl 纹理问题 - 显示混乱,颜色很多

发布于 2024-10-19 14:27:36 字数 1003 浏览 1 评论 0原文

我正在尝试将纹理加载到我的 Android 应用程序显示屏上,其中我使用来自此 github

我的像素在屏幕上完全混乱,我不知道发生了什么。我在该代码中唯一更改的是我有 memcpy,它将 uint8_t 缓冲区复制到 s_pixels 而不是 glbuffer.c 文件中的 render_pixels 中。我的帧像素采用 rgb565 格式。

是某种配置问题还是复制像素的方式有问题?

编辑

下面是代码:

pictureQ 如下

pictureQ { uint8_t *数据; 整数大小; }

    memcpy(s_pixels,&(pictureQ[qFirst].data[0]) , 307200);
    //render_pixels(s_pixels);
    glClear(GL_COLOR_BUFFER_BIT);
   // glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 480, 320, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, &(pictureRGBQ[qFirst].data[0]));
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 480, 320, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, s_pixels);

    check_gl_error("glTexSubImage2D");
    glDrawTexiOES(0, 0, 0, s_w, s_h);
    check_gl_error("glDrawTexiOES");
    memset(s_pixels, 0, 307200);

I am trying to load a texture on to my android app display, where I am using code from this github.

I get my pixels messed up completely on the screen, And I have no idea, what's going on. The only thing I change in that code is I have memcpy, which copied uint8_t buffer into s_pixels instead of render_pixels in glbuffer.c file. My frame pixels are in rgb565 format.

Is it somekind of configuration problem or any problem with the way I copy pixels?

EDIT

Below is the code :

pictureQ is as below

pictureQ {
uint8_t *data;
int size;
}

    memcpy(s_pixels,&(pictureQ[qFirst].data[0]) , 307200);
    //render_pixels(s_pixels);
    glClear(GL_COLOR_BUFFER_BIT);
   // glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 480, 320, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, &(pictureRGBQ[qFirst].data[0]));
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 480, 320, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, s_pixels);

    check_gl_error("glTexSubImage2D");
    glDrawTexiOES(0, 0, 0, s_w, s_h);
    check_gl_error("glDrawTexiOES");
    memset(s_pixels, 0, 307200);

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

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

发布评论

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

评论(1

偷得浮生 2024-10-26 14:27:36

好吧,这是我的错误,我传递的是像素数据而不是数据。感谢您的回复鲁本·斯卡顿。

Ok, It was my mistake, I was passing the data for the pixels instead of the data. Thanks for your response Reuben Scatton.

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