Android opengl纹理问题 - 显示已搞砸了很多颜色

时间:2011-02-28 15:34:52

标签: android opengl-es bitmap android-ndk

我正在尝试将纹理加载到我的Android应用程序显示中,我使用 this github 中的代码。

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

是否有一些配置问题或我复制像素的方式有什么问题?

修改

以下是代码:

pictureQ如下

pictureQ { uint8_t *数据; 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);

1 个答案:

答案 0 :(得分:0)

好的,这是我的错误,我传递的是像素数据而不是数据。感谢您的回复Reuben Scatton。

相关问题