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();
}

 

上面代码没有求反转矩阵,只是简单的把物体下移了几个单位。效果如下:

reflection

posted @ 2011-08-18 22:23  火月  阅读(952)  评论(0编辑  收藏  举报