iOS OpenGL ES載入紋理(GLKit)

2022-06-27 23:54:11 字數 1459 閱讀 8817

- (void)setupcontext

//被繪製物件引數的設定

glkview *view = (glkview *)self.view;

view.context = context;

//顏色格式:rgba每個顏色通道站8位

view.drawablecolorformat = glkviewdrawablecolorformatrgba8888;

//深度格式:24位精度

view.drawabledepthformat = glkviewdrawabledepthformat24;

//設定當前上下文

[eaglcontext setcurrentcontext:context];

//開啟深度測試

glenable(gl_depth_test);

//清理螢幕(相當於設定螢幕顏色)

glclearcolor(1.0, 0.4, 0.3, 1.0);

}

- (void)setvertex;

//開闢緩衝區

gluint buffer;

glgenbuffers(1, &buffer);

glbindbuffer(gl_array_buffer, buffer);

//將頂點資料拷貝至緩衝區(相當於將頂點資料從cpu轉到gpu)

glbufferdata(gl_array_buffer, sizeof(vertexs), vertexs, gl_static_draw);

//開啟位置屬性並賦值至頂點著色器的位置屬性(glkvertexattribposition)

glenablevertexattribarray(glkvertexattribposition);

glvertexattribpointer(glkvertexattribposition, 3, gl_float, gl_false, sizeof(glfloat) * 5, (glfloat *)null+0);

//開啟紋理座標屬性並賦值至頂點著色器的紋理屬性(glkvertexattribtexcoord0)

OpenGL載入DDS壓縮紋理

網路上的影象庫很多,如 freeimage devil 等,庫很強大且支援多種格式,當然也包括 dds紋理。例如 freeimage 但是它這裡所說的支援 dds格式是指將壓縮格式的資料重新解壓成 rgba 畫素資料,將資料解壓後再繫結到 opengl 中就失去了其作為壓縮紋理的高效性 因 open...

iPhone OpenGL ES載入紋理的方法

載入一張名為xiezi.png的紋理 void loadtexture nsinteger texwidth cgimagegetwidth textureimage nsinteger texheight cgimagegetheight textureimage glubyte textured...

OpenGL載入紋理深入詳解。

opengl進行紋理對映的基本流程 1,首先要開啟紋理對映的功能。glenable gl texture 2d 2,載入位圖資源。3,將位圖資源轉化成紋理。4,釋放位圖資源。5,使用紋理,繪圖。閒話不多說,直接上 這裡插一句,在opengl裡面,申明乙個紋理 位圖轉化成紋理 需要三個步驟 1,首先我...