OpenGL ES的状态机说法其实也没那么云山雾照,比较容易理解!
OpenGL ES的狀態(tài)機說法其實也沒那么云山霧照,比較容易理解!
太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商業(yè)用途-保持一致”創(chuàng)作公用協(xié)議
轉(zhuǎn)載請保留此句:太陽火神的美麗人生 - ?本博客專注于?敏捷開發(fā)及移動和物聯(lián)設(shè)備研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本博客的文章拒絕轉(zhuǎn)載或再轉(zhuǎn)載,謝謝合作。
OpenGL ES的學(xué)習(xí),很多人,或者說大多數(shù)人,先了解到的是,它是一個狀態(tài)機。
直到現(xiàn)在,我才明白狀態(tài)機的真正含義,原來以為就是簡單的上下文記錄著所有狀態(tài),其實這是不全面的理解,更重要的上一個上下文的概念。
尤其像渲染緩沖區(qū)、紋理單元、頂點緩存對象等,相關(guān)的API操作并未提供明了的參數(shù),指定是針對誰操作的,其實是根據(jù)狀態(tài)記錄來選擇的。
這可能也是為什么OpenGL ES學(xué)起來要難的原因吧。
打個比方,一個屠夫,賣豬肉、牛肉、羊肉,也或者掛著羊頭賣狗肉?這個不行,狀態(tài)機對不上啊,哈哈哈!
當(dāng)有人要買豬肉時,那么屠夫就在豬肉案板上,把一片子豬肉擺上來,開始按豬的身體結(jié)構(gòu)開剔,開剁;
又來人要買另一片子豬肉,那么這個屠夫只好把前一塊豬肉剩下的從案板上挪下去,再把這片子新的豬肉挪上來。
有可能有的人要的少,那么再把前一片肉賣剩下的拿上來,繼續(xù)操作。
等到有買豬肉和羊肉時,豬肉得用豬肉的案板,羊肉有可能有牛肉的案板,這兩個肉都有山味兒,應(yīng)該問題不大,就像顏色緩存和深度緩沖一樣。
好了,以上的描述太清楚不過了,無論你屠夫怎么動家伙,砍、剁、剔、割、片這些刀法,都是針對案板上的肉進行的,那么具體操作的是哪塊兒肉,那就得看客人要的哪塊肉,就把它拿到案板上來。
好了,到此為止,這個案板就是狀態(tài)機,屠夫永遠(yuǎn)是針對案板上的肉操作,案板記錄著要切的肉,這就是狀態(tài)機的另一種理解。
也就是這個狀態(tài)機的道理理解淺了,致使一直沒有明白很多操作是干什么的只能先死記硬背,而終了還是沒掌握。
噢,別忘了,我們是要理解狀態(tài)機,不是來講怎么賣豬肉的,哈哈。
總結(jié)
以上是生活随笔為你收集整理的OpenGL ES的状态机说法其实也没那么云山雾照,比较容易理解!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果存在表则删除表然后创建Mysql
- 下一篇: yolov5安装与环境配置