簡體   English   中英

ios 8 opengl es 1.1已停產?

[英]ios 8 opengl es 1.1 discontinued?

我們即將在iOS appstore上推出一個標題,我們剛剛發現它在iOS 8上不起作用。游戲加載到黑屏,但其他一切都可以工作(音樂可以聽到,它對觸摸屏做出反應,顯示屏上沒有任何內容)。

我們的引擎很老,使用的是OpenGL ES 1.1。 我現在確信這是問題,因為我已經嘗試了另一個(舊的)教程,它呈現黑屏。

我在網上看過有關這方面的任何討論,但似乎找不到任何東西。 有沒有人有任何1.1應用程序,他們可以確認已停止工作,或工作?

我現在正在考慮將引擎更新到2.0的任務,考慮到項目的規模,這是一個不小的壯舉,而且我們很快就會推出它。 Apple沒有說什么就放棄對1.1的支持是沒有意義的,所以我希望我錯了。

我有同樣的問題。 解決方法是 - 不要添加子視圖

//[self.window addSubview:glView]; // this produces black screen on ios8 devices

[self setView: glView];

關於ios8的另一個技巧是對於景觀應用這個代碼

const CGRect r = [[UIScreen mainScreen] bounds];

返回橫向屏幕大小。 對於iOS <8,它始終是縱向屏幕尺寸。 所以現在我對X使用max(x,y),對Y使用min(x,y)。

好的,我已經取得了一些進展。 在回答我的問題時,OpenGL ES 1.1不會停止使用。

我不知道自iOS 8以來發生了什么變化,但肯定有些代碼不再適用了。 我已經設法取得了一些進展,通過一個教程替換我的主應用程序委托和GL Viewcontroller,它現在渲染,雖然在屏幕的一半和傾斜。

所以要確認,1.1很好,這是我的代碼的問題。

我通過將CGFloats更改為GLfloats來解決類似描述的問題(這包括CGPoints,因為它們使用CGFloats。)這與OpenGLES 1.1或2.0無關,因為我在兩者中都遇到了相同的問題。

問題是OpenGL是因為CGfloats是32位設備上的float類型,而它們是64位設備上的double類型。 提供GLfloats就是為了解決這個問題。 蘋果還提供GLKVector2來解決32位和64位設備之間的這個問題。

暫無
暫無

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

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