不久前,我从 OpenGL 指南中试用了一个程序,据说是双缓冲的;它在屏幕上显示了一个旋转的矩形。不幸的是,我已经没有这本书了,而且我还没有找到一个清晰、直接的关于缓冲区的定义。我的猜测是它是一个绘制东西的“地方”,在哪里使用很多可能就像分层?
如果是这种情况,我想知道我是否可以使用多个缓冲区来对多边形裁剪程序有利。我有一个漂亮的小窗口,允许用户在屏幕上绘制多边形,还有一个实用程序可以在多边形上拖动和绘制一个选择框。当用户绘制了选择矩形并放开鼠标时,多边形将根据矩形边界进行裁剪。
这是可行的,但我也希望用户能够重新开始:按下退出键时,剪辑框应该消失,并且应该恢复原始多边形。由于我是逐个像素地做事,似乎很难弄清楚如何将矩形像素颜色改回黑色,如背景或特定多边形的颜色,具体取决于它们的绘制位置(除非我发现一种在绘制每个多边形像素时保存颜色的方法,但这似乎太过分了)。我想知道给矩形提供自己的缓冲区是否会有所帮助,希望它可以像一种可以轻松清除的透明层(?)这是可以使用缓冲区的方式,还是我需要寻找另一个解决方案?