我需要创建一个 OpenGL ES 应用程序(最好使用 libGDX),该应用程序显示一个旋转纹理,该纹理在其下方具有某种反射。
我在网上搜索过,发现了一些关于如何在 OpenGL 中进行操作的非常古老的教程。
我想知道在 libGdx 或 Android 上是否有一种简单的方法可以做到这一点,如果我被迫使用 OpenGL 2 而不是 1.x。
有没有在 Java、Android 或 libgdx 中实现纹理反射的教程?
我已经取得了一些小的进展,但我仍然需要更多帮助。
目前显示纹理的代码基于此链接,我已经对其进行了修改,以便显示旋转图像及其反射。
但是,我有一些不好的问题:
它几乎就像一面完美的镜子。我需要添加某种特殊效果,使其具有某种渐变效果。
图像可能会相互重叠,并且它们不透明。如果我将反射移动到更靠近旋转图像的位置,我可以看到它们相互重叠。
代码在这里:
public class GlRenderer implements Renderer
@Override
public void onDrawFrame(final GL10 gl)
{
gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);
square.draw(gl);
// draw normal spinning image
gl.glLoadIdentity();
gl.glColor4f(1f,1f,1f,1f);
gl.glTranslatef(0.0f,0.0f,-5.0f);
gl.glRotatef(rotationAngle++,0.0f,0.0f,1.0f);
square.draw(gl);
// draw reflection
gl.glLoadIdentity();
gl.glColor4f(0.5f,0.5f,0.5f,1.0f);
gl.glTranslatef(0.0f,-1.0f,-3.0f);
gl.glRotatef(-80+180,1.0f,0.0f,0.0f);
gl.glRotatef(rotationAngle,0.0f,0.0f,1.0f);
}
有没有人可以帮助我解决这个问题?