OpenGL學習筆記 14 畫素操作

2021-06-27 01:49:28 字數 1583 閱讀 1526

影象與點陣圖不同的是,影象的每個儲存可以儲存rgba顏色

繪製乙個矩形畫素資料

void gldrawpixels(glsizei width, glsizei height, glenum format,

glenum type, const glvoid *pixels);

如下示例

/*    create checkerboard image    */

#define checkimagewidth 64

#define checkimageheight 64

glubyte checkimage[checkimageheight][checkimagewidth][3];

static gldouble zoomfactor = 1.0;

static glint height;

void makecheckimage(void)

}}void init(void)

void display(void)

首先makecheckimage函式建立了乙個64x64的乙個rgb顏色陣列,非黑即白

format與type引數要記得與陣列相對應,否則可能會繪製出失幀的,效果如下

使用glpixelzoom函式可以對進行縮放,比如放大3倍glpixelzoom (3, 3);效果如下

通過glcopypixels函式進行複製,如下**

glrasterpos2i(0, 0);

gldrawpixels(checkimagewidth, checkimageheight, gl_rgb, gl_unsigned_byte, checkimage);

glrasterpos2i (100, 100);

glcopypixels (0, 0, checkimagewidth, checkimageheight, gl_color);

將新影象重新定位到100,100然後複製0,0座標指定高度寬度的矩形

效果如下

其行為類似於先glreadpixels然後gldrawpixels

可以使用glreadpixels函式讀取指定位置的影象資料,如下**

glrasterpos2i(100, 100);

glreadpixels (0, 0, 32, 32, gl_rgb, gl_unsigned_byte,checkimage1);

gldrawpixels(32, 32, gl_rgb, gl_unsigned_byte, checkimage1);

效果

OpenGL學習筆記

我是一名ios開發者,opengl是乙個比較重要的技術。所以就此開啟我的菜鳥之路。opengl open graphics library 是乙個跨程式設計語 言 跨平台的程式設計圖形程式接 它將計算機的資源抽象稱為乙個個opengl的物件,對這些資源的操作抽象為乙個的opengl指令.direct...

OpenGL學習筆記

數學基礎 叉積mv矩陣 文章內容主要來自 計算機圖形學程式設計 使用opengl和c 光柵化過程確定了用以顯示3個頂點所確定的三角形的所有畫素需要繪製的位置 光柵化過程開始時先對三角形的每對頂點進行插值 如果光柵化過程到此為止,那麼呈現出的影象將會是線框模型 使用 glpolygonmode gl ...

OpenGL學習筆記

因工作需要,這些天要研究opengl。我給自己定的目標是 1.節前能熟悉opengl基礎知識 2.確定一款以opengl為基礎的gui 3.學習如何使用該gui的控制項繪製3d選單 今天找到幾個 嵌入式系統使用的是opengl es,是桌面opengl的乙個子集,定義了一系列靈活高效的圖形加速介面。...