Non molto tempo fa, ho provato un programma da una guida OpenGL che si diceva fosse a doppio buffer; mostrava un rettangolo rotante sullo schermo. Sfortunatamente, non ho più il libro e non ho trovato una chiara e semplice definizione di cosa sia un buffer in generale. La mia ipotesi è che sia un "luogo" per disegnare cose, dove usare molto potrebbe essere come stratificare?Che cos'è esattamente un buffer in OpenGL e come posso utilizzarne più a mio vantaggio?
Se questo è il caso, mi chiedo se posso utilizzare più buffer a mio vantaggio per un programma di ritaglio poligonale. Ho una piccola finestra che consente all'utente di disegnare poligoni sullo schermo, oltre a un'utilità per trascinare e disegnare una casella di selezione sopra i poligoni. Quando l'utente ha disegnato il rettangolo di selezione e lascia andare il mouse, i poligoni verranno ritagliati in base ai limiti del rettangolo.
che è fattibile abbastanza, ma voglio anche che l'utente sia in grado di ricominciare da capo: quando si preme il tasto Esc, la casella clip dovrebbe scomparire, ei poligoni originali devono essere ripristinati. Dato che sto facendo cose pixel per pixel, mi sembra molto difficile capire come cambiare i colori dei pixel rettangolari in nero come lo sfondo o il colore di un particolare poligono, a seconda di dove sono stati disegnati (a meno che non trovi un modo per salvare i colori quando viene disegnato ogni pixel di poligono, ma sembra fuori bordo). Mi chiedevo se sarebbe stato utile dare al rettangolo il suo buffer, nella speranza che si comportasse come una sorta di strato trasparente che potrebbe essere facilmente cancellato (?) È questo il modo in cui i buffer possono essere usati, o ho bisogno trovare un'altra soluzione?