不久前,我嘗試了OpenGL指南中的一個程序,該程序據說是雙緩衝的;它在屏幕上顯示一個旋轉的矩形。不幸的是,我沒有這本書了,我一直沒有找到一個明確,直接的緩衝區定義。我的猜測是,這是一個繪製事物的「地方」,其中使用很多可能會像分層一樣?OpenGL中的緩衝區究竟是什麼,我如何使用多個緩衝區以獲得優勢?
如果是這樣的話,我想知道如果我可以使用多個緩衝區來爲多邊形剪裁程序提供優勢。我有一個很好的小窗口,允許用戶在屏幕上繪製多邊形,還有一個實用程序可以在多邊形上拖動和繪製選擇框。當用戶繪製了選擇矩形並放開鼠標時,將根據矩形邊界裁剪多邊形。
這是足夠可行的,但我也希望用戶能夠重新開始:當按下轉義鍵時,剪輯框應該消失,並且原始多邊形應該被恢復。由於我一個像素一個像素地工作,所以想要弄清楚如何將矩形像素顏色改變回像背景或特定多邊形的顏色一樣是非常困難的,這取決於它們被繪製的位置(除非我找到一種在每個多邊形像素被繪製時保存顏色的方式,但似乎過度)。我想知道是否有助於給這個矩形設置自己的緩衝區,希望它能像一個透明的層,可以很容易地清除掉(?)這是緩衝區可以使用的方式,還是我需要找到另一個解決方案?