2011-02-28 29 views
0

我想加載到我的Android應用程序顯示的紋理,我使用的代碼從this githubAndroid的opengl紋理問題 - 顯示已經搞亂了很多顏色

我弄亂了我的像素在屏幕上完全混亂,我不知道,發生了什麼事。我在代碼中唯一改變的是我有memcpy,它將uint8_t緩衝區複製到s_pixels中,而不是glbuffer.c文件中的render_pixels。我的幀像素是rgb565格式。

這是一些配置問題或任何問題與我複製像素的方式?

EDIT

下面是代碼:

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

如果你可以附上截圖,那麼它會很好,所以我們可以看到「完全搞砸」的含義。 – 2011-02-28 15:57:25

+0

附上顯示屏的截圖。 – 2011-02-28 16:08:47

+1

好的,那*是*搞砸了!現在它應該看起來像什麼?你的質地有多大? – 2011-02-28 16:19:50

回答

0

好吧,這是我的錯,我經過數據的像素,而不是數據。感謝您的回覆Reuben Scatton。