void glClear(int mask) 清除緩存數組
實參含義:GL10.GL_COLOR_BUFFER_BIT 清除顏色緩存緩存
GL10.GL_DEPTH_BUFFER_BIT 清除深度緩存ide
但願同時清除多個緩存,將實參用或(|)鏈接便可測試
void glClearColor(float red,float green,float blue,float alpha) 設置背景色spa
視點變換設置視點的位置和方向。視點默認位於座標系原點,指向負z軸。索引
模型變換在世界座標系進行,物體模型原點默認在座標系中心。有三個變換it
平移io
void glTranslatef(float x,float y,float z)class
實參爲沿着x,y,z軸向右平移的距離rust
旋轉
void glRotatef(float angle,float x,float y,float z)
以原點和點(x,y,z)構成的直線爲軸,逆時針旋轉angle大小的角度
縮放
void glScalef(float x,float y,float z)
實參爲三軸上的縮放因子
投影變換的目的是建立一個視景體,把視景體以外的場景裁剪掉。投影變換有兩種,透視投影(perspective projection)和正交投影(orthographic projection)。
透視投影
void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar)
正交投影
void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar)
視口平面是視景體內的物體投影到的二維平面,視口變換就是調整視口大小。
void glViewport(int x,int y,int width,int height)
變換後的視口是以座標(x,y)爲左下頂點,寬爲width,高爲height的矩形
openGL的變換矩陣爲4*4矩陣
設置當前矩陣
void glLoadMatrixf(float[] m,int offset) 或者 void glLoadMatrixf(FloatBuffer m) 設置當前變換矩陣
void glLoadIdentity() 設置當前矩陣爲單位矩陣
壓入、彈出矩陣
void glPushMatrix() 依次壓入當前全部矩陣
void glPopMatrix() 彈出棧頂矩陣
兩個方法聯合操做能夠保留下次變換以前的矩陣狀態。
打開
void glEnable(int cap)
實參含義:GL_CULL_FACE 打開背面剪裁
GL_DEPTH_TEST 打開深度測試
GL_DITHER 打開抗抖動
關閉
void glDisable(int cap)
void glShadeModel(int mode)
實參含義:GL_SMOOTH 平滑着色,根據三個頂點的顏色進行漸變着色,相鄰兩點之間的顏色平滑過渡
GL_FLAT 不平滑着色,使用最後一個頂點的顏色進行填充
openGL默認多邊形頂點逆時針排列爲正面
void glFrontFace(int mode)
實參含義:GL_CW 順時針爲正面
GL_CCW 逆時針爲正面
void glMatrixMode(int mode)
實參含義:GL_MODELVIEW 設置爲模型(幾何)變換矩陣
GL_PROJECTION 設置爲投影變換矩陣
openGL繪圖須要三個數組:頂點座標數組,頂點顏色數組和頂點索引數組(索引能夠不要)
啓用和禁用頂點數組
void glEnableClientState(int array) 啓用
實參含義:GL_VERTEX_ARRAY 啓用頂點座標數組
GL_COLOR_ARRAY 啓用頂點顏色數組
void glDisableClientState(int array) 禁用
爲畫筆指定頂點座標數據
void glVertexPointer(int size,int type,int stride,Buffer pointer)
形參含義:size爲座標維數(通常等於3),type爲座標值的類型(GL_FIXED表明int型,GL_FLOAT表明float型),stride爲步長(連續頂點之間的間隔),pointer爲頂點數據的buffer
爲畫筆指定顏色頂點座標數據
void glColorPointer(int size,int type,int stride,Buffer pointer)
形參含義:同頂點指定方法,size通常等於4
索引法繪圖
void glDrawElements(int mode,int count,int type,Buffer indices)
形參含義:mode表明繪圖方式,常見的方式有:GL_POINTS(畫點),GL_LINES(每兩點畫一線段),GL_LINE_STRIP(按順序相鄰兩點畫一線段),GL_LINE_LOOP(按順序相鄰 頂點畫一線段,末尾頂點與第一個頂點再畫一線段),GL_TRIANGLES(每三個頂點畫一三角形),GL_TRIANGLE_STRIP(按頂點順序,每一個頂點和它後面相鄰的兩個頂點畫一三角形),GL_TRIANGLE_FAN(第一個頂點爲共用頂點,其以後的頂點按照順序每相鄰兩個和它構成一個三角形);
count表明索引數組的長度(不一樣於頂點個數)
type表明索引數據類型,如:GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT
indices表明索引數據的buffer
非索引法繪圖
void glDrawArrays(int mode,int first,int count)
形參含義:mode表明繪圖方式
first表明第一個頂點的編號
count表明頂點個數