Android GLSurfaceView OpenGL ES具有线性渐变背景?

时间:2012-05-19 16:17:29

标签: android opengl-es background glsurfaceview linear-gradients

使用此代码,我可以清除背景并添加颜色:

gl.glEnable(GL10.GL_DEPTH_TEST);    
gl.glClearColor(0.0f, 0.25f, 0.35f, 1.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

如何将其更改为具有线性渐变背景?例如顶部是白色,底部是蓝色吗?

1 个答案:

答案 0 :(得分:1)

没有方法可以清除渐变,但我只是绘制彩色四边形而不是清除颜色:

void drawFrame() {
   glDisable(GL_DEPTH_TEST);
   //draw screen aligned quad with color gradient 
   //    (top two vertices white, bottom two blue)
   drawGradientQuad();

   glClear(GL_DEPTH_BUFFER_BIT); //no need to clear color

   glEnable(GL_DEPTH_TEST);
   //draw rest of scene
}