簡體   English   中英

適用於Iphone的OpenGL ES

[英]OpenGL ES For Iphone

我對OpenGL沒有任何經驗,只是開始玩iPhone開發。 從谷歌來看,似乎iphone使用了一種特殊類型的opengl(openGL ES)。 openGL ES支持哪些語言? 我知道一點點C ++但是現在我相信我的C和Objective-C比C ++好。

訪問OpenGL與使用任何C庫相同。 如果你可以使用C編程,那么你將能夠處理OpenGL。 如果您熟悉向Xcode項目添加框架和庫,那么您應該可以使用OpenGL項目。

需要注意的是:OpenGL ES並非iPhone獨有。 OpenGL ES是OpenGL庫的簡化版本,用於處理移動設備中較小的內存和較慢的處理器。 Android等其他手機也使用它。

與標准OpenGL相比,OpenGL ES的一個好處是它確實減少了OpenGL桌面版本的API調用次數。 只保留那些被認為必要的電話。 如果有相同的方法做同樣的事情,那么一種方法被刪除。 這意味着您需要學習的東西較少。

與標准OpenGL相比,OpenGL ES的壞處在於它真正削減了OpenGL桌面版API的API調用次數。 在研究如何在OpenGL中執行某些操作時,您會一次又一次地在桌面上找到一種很酷的方式,但實際上卻找不到如何使用移動版本進行操作的方法。 值得慶幸的是,隨着移動設備開始變得越來越流行,這將不再是一個問題,並且已經出現了許多OpenGL ES書籍(參見Munshi)。

此外,並非所有OpenGL ES都是相同的。 大概你有OpenGL ES 2.0和之前的版本,通常稱為OpenGL ES 1.x. 這兩者之間最明顯的區別是可編程管道(頂點和片段着色器)的集成。 如果您使用Xcode創建一個基本的OpenGL ES項目,您會找到一個簡單的扭曲示例,以便處理差異版本。

着色器代碼本身就是一種類似C語言的編程語言。 有一些怪癖但這些很快就會被學習並且非常有用。

叫我很奇怪,但我喜歡玩Open GL和ES變種。 這很難,但是你可以獲得強大且有用的API,因此這些獎勵是值得的。 希望您能夠通過早期學習階段並真正享受OpenGL。

如果您之前沒有OpenGL經驗,那么您將需要使用框架。 我看過2個:

  • SIO2(免費,但如果您想將其包含在已發布的標題中,則需要支付許可費)

  • 團結(更難學,但顯然更靈活)。

至於語言,大多數是C或C ++。 你可以混合使用Objective-C(可愛命名的Objective-C ++)並且編譯得很好,但是當你混合使用UIKit和OpenGL時會遇到真正的麻煩 - 只要你不這樣做,你應該都很好用你喜歡的任何語言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM