標籤:opengl 像素 位元影像
位元影像
位元影像的顯示,下面這段代碼將顯示一個8*8的棋盤:
GLubyte wb[2]={0x00,0xff};GLubyte check[64*8];for(int i=0;i<64;i++)for(int j=0;j<8;j++)check[i*8+j]=wb[(i/8+j)%2];glBitmap(64,64,0,0,220.0,220.0,check);
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/48/10/wKioL1QFg__Bxp0fAACqcedUSYo765.jpg" title="QQ20140902164614.png" alt="wKioL1QFg__Bxp0fAACqcedUSYo765.jpg" />
void glBitmap(GLsizei width,GLsizei height,GLfloat x0,GLfloat y0,GLfloat xi,
GLfloat yi,GLubyte* bits)
//依據數組bits繪製一副寬為width,高位height的位元影像。位元影像的起始位置到當前光柵位置的位移量為x0,y0,當位元影像顯示完畢後,當前位置則以xi和yi作為座標增量而增加
void glRasterPos*() 設定光柵位置
註:調用該函數後,光柵顏色就被鎖定,後面再調用glColor對位元影像繪製顏色不起作用。
繪製模式
在繪製像素時,如果想要繪製的像素位置已經有像素存在,則可令目標像素的新值為源顏色和目標顏色按照某種規則運算的結果。運算可藉助一下函數設定:
void glLogicOp(GLenum op)
//如果邏輯運算(GL_COLOR_LOGIC_OP)被啟用,該函數可用來整合到幀緩衝中的源像素和目標像素之間採用16中邏輯運算中的哪一種。參數值可以使GL_COPY(預設)、GL_OR、或GL_XOR
必須通過如下函數來啟用邏輯運算
glEnable(GL_COLOR_LOGIC_OP)
OpenGL學習(六) 離散圖元