Nie tak dawno temu wypróbowałem program z przewodnika OpenGL, o którym mówiono, że jest podwójnie buforowany; na ekranie pojawił się obracający się prostokąt. Niestety, nie mam już tej książki i nie znalazłem jasnej, prostej definicji tego, co ogólnie jest buforem. Domyślam się, że jest to "miejsce" do rysowania rzeczy, gdzie używanie wielu może być jak nakładanie warstw?Czym dokładnie jest bufor w OpenGL i jak mogę korzystać z wielu na swoją korzyść?
Jeśli tak, to zastanawiam się, czy mogę użyć wielu buforów na swoją korzyść dla programu obcinania wieloboków. Mam ładne małe okienko, które pozwala użytkownikowi rysować wielokątów na ekranie, a także narzędzie do przeciągania i rysowania pola wyboru nad poligonami. Gdy użytkownik narysuje prostokąt zaznaczenia i puści mysz, wielokąty zostaną obcięte w oparciu o granice prostokąta.
Jest to wystarczająco wykonalne, ale chcę, aby użytkownik mógł zacząć od nowa: po naciśnięciu klawisza Esc, klips powinien zniknąć, a oryginalne wielokąty powinny zostać przywrócone. Ponieważ robię rzeczy po pikselach po pikselach, bardzo trudno jest wymyślić, jak zmienić kolory pikseli prostokąta z powrotem na czarne, takie jak tło lub kolor określonego wielokąta, w zależności od tego, gdzie zostały narysowane (chyba że znajdę sposób na zapisanie kolorów podczas rysowania każdego piksela wielokąta, ale wydaje się, że jest on za burtą). Zastanawiałem się, czy pomogłoby to nadać prostokątowi własny bufor, w nadziei, że będzie on działał jak rodzaj przezroczystej warstwy, którą można łatwo usunąć (?) Czy w ten sposób można użyć buforów, czy też potrzebuję znaleźć inne rozwiązanie?