想控制一切?歡迎來到像素操作。
附:windows的BMP顏色和OpenGL顏色有所差異,BMP是BGR, OpenGL是RGB。
最基本的三個操作函數:
1. 讀,從屏幕上(顯存中)讀取像素到內存。glReadPixels
2. 寫,從內存中繪製像素到屏幕(顯存)。glDrawPixels
3. Copy, 把屏幕(顯存)的數據從一個位置複製到另外一個位置。glCopyPixels。該步驟不經過內存,直接在顯存中移動,效率很高。
通過glRasterPos來設置畫的位置。通過glPixelStorei設置參數
glReadPixels
是從顯存中讀取數據,從屏幕上讀取。如果使用了雙緩衝,則從前緩衝中讀取(正在顯示的)。如果想讀取後緩衝中的內容,那麼請先交換
glDrawPixels
一種常見的用法,從圖像中讀取數據,然後使用glDrawPixels畫在屏幕上。
glCopyPixels
沒啥特別的
附:windows的BMP顏色和OpenGL顏色有所差異,BMP是BGR, OpenGL是RGB。
最基本的三個操作函數:
1. 讀,從屏幕上(顯存中)讀取像素到內存。glReadPixels
2. 寫,從內存中繪製像素到屏幕(顯存)。glDrawPixels
3. Copy, 把屏幕(顯存)的數據從一個位置複製到另外一個位置。glCopyPixels。該步驟不經過內存,直接在顯存中移動,效率很高。
通過glRasterPos來設置畫的位置。通過glPixelStorei設置參數
glReadPixels
是從顯存中讀取數據,從屏幕上讀取。如果使用了雙緩衝,則從前緩衝中讀取(正在顯示的)。如果想讀取後緩衝中的內容,那麼請先交換
glDrawPixels
一種常見的用法,從圖像中讀取數據,然後使用glDrawPixels畫在屏幕上。
glCopyPixels
沒啥特別的