2011-08-18 58 views
0

我的目的是放置一個渲染立方體的背景圖像。爲此,我需要將我的GLSurfaceView設置爲半透明,我嘗試了APIDemos示例,它給了我如何使整個活動成爲半透明,這不是我的目的。 GLSurfaceViewObject.setZorderOnTop(true)語句工作正常,但此方法直到Android 2.1纔可用。在Android 1.6 SDK中有沒有其他的setZOrderOnTop(true)方法呢?還是有其他方法可以讓GLSurfaceView變成半透明的?如何在Android 1.6中將GLSurfaceView設置爲半透明?

回答

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(); 
相關問題