Vor nicht allzu langer Zeit habe ich ein Programm aus einem OpenGL-Handbuch ausprobiert, das doppelt gepuffert sein soll; Es zeigte ein sich drehendes Rechteck auf dem Bildschirm. Leider habe ich das Buch nicht mehr, und ich habe keine klare, klare Definition dessen gefunden, was ein Puffer im Allgemeinen ist. Meine Vermutung ist, dass es sich um einen "Ort" handelt, an dem Dinge gezeichnet werden können, bei denen viel wie Schichten wirken kann?Was genau ist ein Puffer in OpenGL, und wie kann ich mehrere zu meinem Vorteil verwenden?
Wenn das der Fall ist, frage ich mich, ob ich mehrere Puffer zu meinem Vorteil für ein Polygon-Clipping-Programm verwenden kann. Ich habe ein nettes kleines Fenster, das dem Benutzer erlaubt, Polygone auf dem Bildschirm zu zeichnen, plus ein Dienstprogramm, um eine Auswahlbox über die Polygone zu ziehen und zu zeichnen. Wenn der Benutzer das Auswahlrechteck gezeichnet hat und die Maus loslässt, werden die Polygone basierend auf den Rechteckgrenzen abgeschnitten.
Das ist machbar genug, aber ich möchte auch, dass der Benutzer von vorne beginnen kann: Wenn die Escape-Taste gedrückt wird, sollte die Clip-Box verschwinden, und die ursprünglichen Polygone sollten wiederhergestellt werden. Da ich die Dinge Pixel für Pixel mache, scheint es sehr schwierig zu sein, herauszufinden, wie man die Rechteckpixelfarben wieder zurück in Schwarz wie den Hintergrund oder die Farbe eines bestimmten Polygons ändert, je nachdem, wo sie gezeichnet wurden (außer ich finde eine Möglichkeit, die Farben zu speichern, wenn jedes Polygonpixel gezeichnet wird, aber das scheint über Bord zu gehen). Ich habe mich gefragt, ob es helfen würde, dem Rechteck einen eigenen Puffer zu geben, in der Hoffnung, dass es sich wie eine Art transparente Schicht verhält, die leicht gelöscht werden könnte. So können Puffer verwendet werden, oder brauche ich sie um eine andere Lösung zu finden?