OpenGL+ES常用API_第1頁
OpenGL+ES常用API_第2頁
OpenGL+ES常用API_第3頁
OpenGL+ES常用API_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、OpenGLES 常用 API分類:Android3D 學(xué)習(xí) 2011-02-2216:07475 人閱讀評論(0)收藏舉報這篇是我從 http:/ 轉(zhuǎn)載過來的文章,還蠻有用的!OPenGLES 常用 API:glClearColor(0.f,0.f,0.f,1.f);/設(shè)置模式窗口的背景顏色,顏色采用的是 RGBA 值glViewport(0,0,iScreenWidth,iScreenHeight);/設(shè)置視口的大小以及位置,視口:也就是圖形最終顯示到屏幕的區(qū)域,前兩個參數(shù)是視口的位置,后兩個參數(shù)是視口的寬和長。glMatrixMode(GL_PROJECTION);/設(shè)置矩陣模式為投影矩

2、陣,之后的變換將影響投影矩陣。OpenGL 屬于狀態(tài)管理機制,比如:設(shè)置當(dāng)前矩陣為投影矩陣過后,在沒有重新調(diào)用 glMatrixMode()之前,任何矩陣變換都將影響投影矩陣。glFrustumf(-1.f,1.f,-1.f,1.f,3.f,1000.f);/該函數(shù)創(chuàng)建一個透視投影矩陣,其中的參數(shù)定義了視景體,可以理解為用相機的時候,眼睛的可視范圍。就像一個三棱錐,參數(shù) 1、3、5和 2、4、6 分別定義了近裁面和遠裁面的左下和右上的(x、v、z)坐標(biāo)。OpenGL 投影有兩種模式,一種是透視投影,也就是通過上述函數(shù)創(chuàng)建一個三棱錐視景體,這種模式下觀看三維模型是近大遠小。另外一種模式是正交模式

3、,視景體是一個平行六面體,離相機的距離不會影響物體的大小。glMatrixMode(GL_MODELVIEW);設(shè)置當(dāng)前矩陣為模式矩陣glVertexpointer(3,GL_BYTE,0,vertices);/指定從哪里存取空間坐標(biāo)數(shù)據(jù)OpenGL 一共有 8 個這樣的函數(shù)可以存取不同的坐標(biāo)數(shù)據(jù):glColorPointer();glIndexPointer();glNormalPointer();glTexCoordPointer();等glShadeModel(GL_FLAT);設(shè)置陰影模式為 GL_FLAT,默認(rèn)是 GL_SMOOTH陰影模式一共有兩種,GL_SMOOTH 和 GL_F

4、LAT,在有關(guān)照的情況下會有不同的效果。glClear(GL_COLOR_BUFFER_BIT);清除顏色緩存glLoadIdentity();設(shè)置當(dāng)前矩陣為單位矩陣OpenGL 里面的位置大小都是用矩陣來表示的,比如:glScanf()放大或縮小,其實就是用一個矩陣去乘當(dāng)前的矩陣,為了使變換不受當(dāng)前矩陣的影響,所以把當(dāng)前矩陣設(shè)置為單位矩陣。glTranslatex(0,0,-10016);/將坐標(biāo)向 z 軸負方向移動 100glColor4f(1.f,0.f,0.f,1.f);設(shè)置顏色為紅色glScalex(1516,1516,1516);/將物體沿 xyz 者分別放大 15 倍glDraw

5、Elements(GL_TRIANGLES,1*3,GL_UNSIGNED_BYTE,indices);/繪制圖形,GL_TRIANGLES 說明要繪制的圖形是三角形,3 表示一共有三個定點,GL_UNSIGNED_BYTE 表示 indices 存儲的數(shù)據(jù)類型voidglTranslatef(GLfloatx,GLfloaty,GLfloatz)voidglTranslatex(GLfixedx,GLfixedy,GLfixedz)功能:沿 x、v、z 平移voidglScalef(GLfloatx,GLfloaty,GLfloatz)voidglScalex(GLfixedx,GLfixe

6、dy,GLfixedz)功能:在 x、y、z 軸進行縮放,參數(shù) x、v、z 為你想要的大小。voidglRotatef(GLfloatangle,GLfloatx,GLfloaty,GLfloatz)voidglRotatex(GLfixedangle,GLfixedx,GLfixedy,GLfixedz)功能:沿 x、v、z 軸進行旋轉(zhuǎn)。Angle 表示將要旋轉(zhuǎn)的角度。voidglClear(GLbitfieldmask)功能:用 mask 清除緩存可以有三種模式進行清除:GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT,andGL_STENCIL_BUFFER

7、_BIT.voidglClearDepthf(GLclampfdepth)voidglClearDepthx(GLclampxdepth)功能:設(shè)置深度緩存,參數(shù)為 0 至 ij1,使用 glClear 清除緩存。3D 場景 OpenGL 程序都使用深度緩存。它的排序決定那個物體先畫。這樣您就不會將一個圓形后面的正方形畫到圓形上來。voidglClearC010r(GLclampfred,GLclampfgreen,GLclampfblue,GLclampfalpha)voidglClearC010rx(GLclampxred,GLclampxgreen,GLclampxblue,GLclam

8、pxalpha)功能:用指定的顏色值(RGBA)清除顏色緩存voidglColorPointer(GLintsize,GLenumtype,GLsizeistride,constGLvoid*pointer)功能:指定顏色的存儲空間,size 在 OpenGLES 默認(rèn)為 4,表示(RGBA);type 為 pointer 內(nèi)容的類型;stride 為數(shù)據(jù)在 pointer內(nèi)存中的偏移量;pointer 為第一個元素的地址。voidglEnableClientState(GLenumarray)voidglDisableClientState(GLenumarray)功能:啟用或者禁止 array,array 有:GL_COLOR_ARRAY,GL_MATRIX_INDEX_ARRAY_OES,GL_NORMAL_ARRAY,GL_POINT_SIZE_ARRAY_ARRAY_OES,GL_TEXTURE_COORD_ARRAY,GL_VERTEX_ARRAY,andGL_WEIGHT_ARRAY_OES。GL_LINE_STRIP,GL_LINE_LOOP,GL_LINES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN,andGL_TRIANGLES;count 指定要繪制多

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論