我想自定义FlowCover(Cover Flow翻拍)示例代码的反射。现在,反射(纹理)只是透明的,但我希望它有一个渐变,这样纹理就会变得完全透明。
你如何使用OpenGL实现这种效果?这是处理纹理的代码。
glPushMatrix();
glBindTexture(GL_TEXTURE_2D,fcr.texture);
glTranslatef(trans, 0, 0);
glScalef(sc,sc,1.0);
glMultMatrixf(m);
glDrawArrays(GL_TRIANGLE_STRIP,0,4);
// reflect
glTranslatef(0,-2,0);
glScalef(1,-1,1);
glColor4f(0.5,0.5,0.5,0.5);
glDrawArrays(GL_TRIANGLE_STRIP,0,4);
glColor4f(1,1,1,1);
glPopMatrix();
欢迎任何提示或关键词。
非常感谢。
答案 0 :(得分:1)
我解决这个问题的方法是删除openGL反射和路径图像,反射和渐变到FlowCower。 Here是创建图像反射的一个很好的例子。
答案 1 :(得分:1)
用渐变方式绘制反射是个好主意。 ^ _ ^
我认为你可以放一个光源,并改变项目视图的法线向量。光源会产生一些渐变效果。
答案 2 :(得分:1)
您可能希望了解多重纹理。您可以使用第一个颜色和第二个颜色的Alpha值将基础纹理与渐变纹理组合在一起。看一下glTexEnvi命令。