我的目的是为渲染立方体放置一个背景图像。因为我需要让我的GLSurfaceView为半透明,我试过APIDemos的例子,它给了我如何将整个活动变成半透明的,这不是我的意图。 GLSurfaceViewObject.setZorderOnTop(true)语句工作正常,但此方法在Android 2.1之前不可用。在Android 1.6 SDK中有没有替代方法来设置setZOrderOnTop(true)?还是有其他方法可以使GLSurfaceView成为半透明的?
答案 0 :(得分:1)
为什么不简单地将视口填充纹理四边形作为背景?如:
glViewport(0,0,w,h);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,1,0,1,-1,1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
GLfloat verts[8] = {0,0, 1,0, 1,1, 0,1};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, verts);
glTexCoordPointer(2, GL_FLOAT, 0, verts);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
glClear(GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
YOUR_PROJECTION();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
YOUR_MODELVIEW();
DRAW_YOUR_SCENE();