【问题标题】:Android GLSurfaceView OpenGL ES with linear-gradient background?具有线性渐变背景的Android GLSurfaceView OpenGL ES?
【发布时间】:2012-05-19 16:17:29
【问题描述】:

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

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

如何将其更改为具有线性渐变背景?例如上面是白色,下面是蓝色?

【问题讨论】:

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


    【解决方案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
    }
    

    【讨论】:

    • 我找不到关于 GL_QUADS 的任何信息?
    • @user1405328 你的评论是陈述,不是问题,我不知道你在说什么。如果您对某事感到困惑,请具体说明。
    • 对不起。 drawGradientQuad();这是一个真正的功能,还是只是一个例子?我找到了一个网站。我想,和你说的一样。但这不起作用。 opengl.org/discussion_boards/showthread.php/…
    • @user1405328 不,它不是真正的函数,它只是伪代码。我假设您会知道如何自己绘制简单的形状。如果您不知道如何操作,我相信您可以找到大量用于绘制三角形和四边形的教程和资源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多