opengl倒影
实现倒影的思路:
1.关闭z缓存,渲染地面。
2.开启z缓存,开启混合,用观察矩阵的反转矩阵绘制物体,将反转的物体与地面颜色混合,形成倒影。
3.正常绘制物体。
void RenderScene() { glDisable(GL_DEPTH_TEST); Terrain(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE); glMatrixMode(GL_MODELVIEW); glTranslatef(0, -2, 0); Cube(); glEnable(GL_DEPTH_TEST); glDisable(GL_BLEND); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); Cube(); }
上面代码没有求反转矩阵,只是简单的把物体下移了几个单位。效果如下: