iPhone OpenGL ES專案基本模型

2021-05-27 13:37:54 字數 1609 閱讀 3617

opengl在普通pc機程式設計中是非常有用且通用的一種庫.而對於嵌入式裝置則需要使用其精簡庫,稱之opengl es.當然在這裡要寫這篇文章不是因為自己已經懂它的使用.而是自己正在了解一些關於它的基本使用.

現在開始我們的基本處理了...

好了,趕緊新增如圖的兩個框架吧.接下來我們要開始我們的**工作了...

先建立乙個基於uiview的類吧.並把他載入到建立工程的viewcontroller上去吧.這樣我們就可只在我們自定義的view上進行操作了(比如我的就建立了乙個glview類).快點噢...有些操作我們這裡就省了(比如標頭檔案的包含)...

接下來,開始我們真正的opengl es工作了.

在glview.h檔案中定義個幾個成員變數,具體如下圖:

然後,進入glview.m檔案中去吧.

這裡我們首先過載乙個類

+(class)layerclass

接下來,我們進入初始化函式中去吧:

+(class)layerclass

- (id)initwithframe:(cgrect)frame

glbindframebufferoes(gl_framebuffer_oes, viewfamebuffer);

glviewport(0.0, 0.0, backingwidth, backingheight);

glmatrixmode(gl_projection);

glloadidentity();

glorthof(0.0, self.frame.size.width, 0.0, self.frame.size.height, -1.0, 1.0);

glmatrixmode(gl_modelview);

glclearcolor(1.0, 1.0, 1.0, 1.0);

glclear(gl_color_buffer_bit);

glenableclientstate(gl_vertex_array);

glbindrenderbufferoes(gl_renderbuffer_oes, viewfamebuffer);

[context presentrenderbuffer:gl_renderbuffer_oes];

glblendfunc(gl_one, gl_one_minus_src_alpha);

glenable(gl_texture_2d);

glenableclientstate(gl_vertex_array);

}return self;

}**如上述,在這裡我們需要做的就是設定繪製環境,開啟或者禁用一些功能.

上面我們用到了乙個函式其實現如下:

- (bool)createframebuffer

return yes;

}這樣,我們的設定就做好了,現在我們需要做的就是根據我們的需要進行opengl es的圖形處理操作了.當然,在我們結束的時候記得要對繪製環境和opengl es的狀態機進行刪除處理.**大致為:

- (void)deleteframebuffer

if (colorrenderbuffer) }}

和[context release];

好了,乙個以opengl es為基礎的模型就這樣了..具體的繪製我們都努力去學習吧.

16殺手級的iPhone OpenGL ES的資源

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

iPhone OpenGL ES載入紋理的方法

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

二項樹和二項堆(Binomial Heaps)

二項樹bk是一種遞迴定義的有序樹。二項樹b0只包含乙個結點。二項樹bk由兩個子樹bk 1連線而成 其中一棵樹的根是另一棵樹的根的最左孩子。二項樹bk 具有以下性質 1 共有2的 k次方個結點 2 樹的高度為k 3 在深度 i處恰有 上 k,下i 因此叫二項樹 個結點,其中 i 0,k 4 根的度數為...