【问题标题】:Android opengl texture problem - display has messed up with lot of colorsAndroid opengl 纹理问题 - 显示混乱了很多颜色
【发布时间】:2011-03-01 00:31:11
【问题描述】:

我正在尝试将纹理加载到我的 android 应用程序显示屏上,我正在使用来自 this github 的代码。

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

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

编辑

下面是代码:

pictureQ如下

图片Q { 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);

【问题讨论】:

  • 最好能附上截图,让我们看看“一团糟”是什么意思。
  • 附上显示截图。
  • 好吧,那搞砸了!现在它应该是什么样子的?你的纹理尺寸是多少?
  • 它是 480x320p。这是一个适当的形象。我已经在创建纹理的地方发布了我的代码(已编辑)。

标签: android opengl-es bitmap android-ndk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    相关资源
    最近更新 更多