Opengl 中的方法說明

一:glClearColor()和glClear()組合

1. 必須強調glClearColor只起到Set的作用,并不Clear任何!不要混淆~

2. glClearColor的作用是,指定刷新顏色緩沖區時所用的顏色。

所以,完成一個刷新過程是要glClearColor(COLOR)glClear(GL_COLOR_BUFFER_BIT)配合使用。

glClearColor(0.0, 0.0, 1.0, 1.0);//藍色

glClear(GL_COLOR_BUFFER_BIT);

3. 清除顏色緩沖區的作用是,防止緩沖區中原有的顏色信息影響本次繪圖(注意!即使認為可以直接覆蓋原值,也是有可能會影響的),當繪圖區域為整個窗口時,就是通常看到的,顏色緩沖區的清除值就是窗口的背景顏色。所以,這兩條清除指令并不是必須的:比如對于靜態畫面只需要設置一次,比如不需要背景色/背景色為白色。

4. glClear 比手動涂抹一個背景畫布效率高且省力,所以通常使用這種方式。

二:gl.glMatrixMode()和glLoadIdentity()的組合

這兩個基本是組合使用的。

設置當前的操作矩陣是什么樣類型的矩陣。

比如在opengl編程:簡單的三角形繪制里面

這是目前的理解:

在surfaceviewSizeChange的時候設置這個,是說明我們眼前看到的畫面是通過投影矩陣來進行獲取的,所以在顯示的時候 相同的物體會根據在Z軸上面的距離不同有大小的區別

glMatrixMode(GL10.GL_PROJECTION)

gl.glLoadIdentity();

然后在onDraw()中 ?設置

//設置為模型視圖矩陣

gl.glMatrixMode(GL10.GL_MODELVIEW);

//加載單位矩陣

gl.glLoadIdentity();

這些在我們操作矩陣的時候是操作模型矩陣或者視圖矩陣

兩者達到的效果是一樣的,可以在基本概念(二)中看到。

要么改變的是眼球的位置,要求改變的是物體的位置,兩者達到的效果一致

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容