iPhone OpenGL ES載入紋理的方法

2021-06-08 13:38:38 字數 1179 閱讀 5681

//載入一張名為xiezi.png的紋理

- (void)loadtexture

nsinteger texwidth = cgimagegetwidth(textureimage);

nsinteger texheight = cgimagegetheight(textureimage);

glubyte *texturedata = (glubyte *)malloc(texwidth * texheight * 4);

cgcontextref texturecontext = cgbitmapcontextcreate(texturedata,

texwidth, texheight,

8, texwidth * 4,

cgimagegetcolorspace(textureimage),

kcgimagealphapremultipliedlast);

cgcontextdrawimage(texturecontext, cgrectmake(0.0, 0.0, (float)texwidth, (float)texheight), textureimage);

cgcontextrelease(texturecontext);

glgentextures(1, &textures[0]);

glbindtexture(gl_texture_2d, textures[0]);

glteximage2d(gl_texture_2d, 0, gl_rgba, texwidth, texheight, 0, gl_rgba, gl_unsigned_byte, texturedata);

free(texturedata);

gltexparameterf(gl_texture_2d, gl_texture_min_filter, gl_linear);

gltexparameterf(gl_texture_2d, gl_texture_mag_filter, gl_linear);

glenable(gl_texture_2d);

其中,紋理緩衝區定義為:

gluint textures[1];

載入紋理的方法中需要用到coregraphics框架,不然編譯會出錯。

iPhone OpenGL ES專案基本模型

opengl在普通pc機程式設計中是非常有用且通用的一種庫.而對於嵌入式裝置則需要使用其精簡庫,稱之opengl es.當然在這裡要寫這篇文章不是因為自己已經懂它的使用.而是自己正在了解一些關於它的基本使用.現在開始我們的基本處理了.好了,趕緊新增如圖的兩個框架吧.接下來我們要開始我們的 工作了.先...

16殺手級的iPhone OpenGL ES的資源

數學資源 如果你沒有計算機圖形學的二維和三維數學的乙個基本的了解你的腦袋可能會 一旦你嘗試學習opengl。為了防止發生,你至少應該了解的術語,以及為什麼這需要數學的原因。無需通過研磨像在大學的數學問題.這就是計算機。1。3d 遊戲程式設計第10章的黑色藝術,這是乙個偉大的介紹圖形數學,幾乎cram...

UImageview加邊框 加陰影

uiimageview imgvphoto uiimageview alloc init 新增邊框 calayer layer imgvphoto layer layer.bordercolor uicolor whitecolor cgcolor layer.borderwidth 5.0f 新增...