我遇到了一个视觉神器,当我在Kndle Fire(android 2.3.4)上启动游戏时:我的粒子周围有灰色方块。
该代码适用于iOS和Nexus!
此外,ddms拍摄的截图看起来是正确的(这是从Kindle Fire截取屏幕截图的唯一方法)!
以下是错误和正确的sreenshots:
这是我的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 :(得分: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
};