不久前,我尝试了一本OpenGL指南中介绍的双缓冲程序,并在屏幕上显示了一个旋转的矩形。不幸的是,我现在没有这本书了,而且我也没有找到一个清晰明了的通用缓冲区定义。我的猜测是它是一个“地方”来绘制图形,使用很多可能像分层一样?
如果是这样,我想知道我能否利用多个缓冲区来优化多边形剪裁程序。我有一个好看的小窗口,允许用户在屏幕上画多边形,还有一个实用工具来拖动和画出选择框覆盖在多边形上。当用户画完选择矩形并放开鼠标时,多边形将根据矩形边界进行剪辑。
这个做法足够简单,但是我还希望用户可以重新开始:按下逃脱键时,剪辑框应该消失,原始多边形应该恢复。由于我是逐像素处理的,似乎很难弄清楚如何将矩形像素颜色改回黑色或特定多边形的颜色,取决于它们被绘制的位置(除非我找到一种方法来保存每个多边形像素被绘制时的颜色,但这似乎太过复杂)。我想知道给矩形一个自己的缓冲区是否有帮助,希望它能像一种透明层一样,可以轻松清除(?)这是缓冲区可以使用的方式,还是我需要找到另一种解决方案?
如果是这样,我想知道我能否利用多个缓冲区来优化多边形剪裁程序。我有一个好看的小窗口,允许用户在屏幕上画多边形,还有一个实用工具来拖动和画出选择框覆盖在多边形上。当用户画完选择矩形并放开鼠标时,多边形将根据矩形边界进行剪辑。
这个做法足够简单,但是我还希望用户可以重新开始:按下逃脱键时,剪辑框应该消失,原始多边形应该恢复。由于我是逐像素处理的,似乎很难弄清楚如何将矩形像素颜色改回黑色或特定多边形的颜色,取决于它们被绘制的位置(除非我找到一种方法来保存每个多边形像素被绘制时的颜色,但这似乎太过复杂)。我想知道给矩形一个自己的缓冲区是否有帮助,希望它能像一种透明层一样,可以轻松清除(?)这是缓冲区可以使用的方式,还是我需要找到另一种解决方案?