2014-02-27 86 views
0

當我在Kndle Fire(android 2.3.4)上推出我的遊戲時,我遇到了一個視覺神器:我的粒子周圍有灰色方塊。
該代碼適用於iOS和Nexus!
此外,屏幕截圖看起來正確時,由ddms(這是唯一的方式來從Kindle Fire截圖)!OpenGL ES 1.1 - Kindle Fire上的視覺藝術品(alpha版)

這都是錯誤的,正確的sreenshots:

enter image description here

這裏是我的GL設置代碼:

glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

glLineWidth(1.5); 
glDisable(GL_LIGHTING); 
glDisable(GL_DEPTH_TEST); 

glDisable(GL_NORMALIZE); 
glDisable(GL_CULL_FACE); 
glShadeModel(GL_FLAT); 

float alpha_ref = 1/255.f; 
glAlphaFunc(GL_GEQUAL, alpha_ref); 

glPixelStorei(GL_UNPACK_ALIGNMENT, 1); 

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gFilter); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gFilter); 

glDisable(GL_TEXTURE_2D); // will be enabled later when texture set! 

glEnableClientState(GL_VERTEX_ARRAY); 
glEnableClientState(GL_COLOR_ARRAY); 
glEnableClientState(GL_TEXTURE_COORD_ARRAY); 

glFrontFace(GL_CW); 
float fZero[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; 
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, fZero); 
glColor4ub(255, 255, 255, 255); 

我會感激任何建議!

回答

0

最後發現這裏的提示: https://legacy.madewithmarmalade.com/ru/node/57184

所以,答案是評論在GLES設置顏色深度要求:

const EGLint attribs[] = { 
     EGL_SURFACE_TYPE, EGL_WINDOW_BIT, 
     /*EGL_BLUE_SIZE, 8,*/ 
     /*EGL_GREEN_SIZE, 8,*/ 
     /*EGL_RED_SIZE, 8,*/ 
     EGL_NONE 
};