我有一個渲染3D模型的OpenGL視圖。這是對蘋果EAGLView的基本修改。這個視圖被添加到控制器的.view中,並用presentModalViewController顯示:。我希望在用戶選擇顯示視圖之前在應用程序啓動時在後臺線程中完成所有模型加載和OpenGL狀態配置。這可能嗎?我可以加載紋理,設置燈光,並且通常只需準備好在後臺線程中渲染一切?我擔心的是,當我在後臺設置我的渲染器時,主要應用程序的Cocoa touch部分將操縱OpenGL狀態。控制器當然會從主線程顯示。 OpenGl-ES的這種級別的理解並不是我經常處理的事情,所以如果我的問題在任何方面都很奇怪,請將其作爲異教徒:)在後臺加載OpenGl視圖。 iPhone
1
A
回答
1
絕對可以在線程上進行後臺加載。一些關鍵點: - 將OGL狀態設置移動到後臺線程可能沒有太大的成功 - 第一次繪製開始之前在上下文中引起的總變化量不會相加到一噸時間。後臺加載對於紋理和VBO非常有用,並且首先需要加載時間才能將數據提供給GL。 - 您需要從主線程分離上下文並將其移至工作線程。我們使用pthreads將上下文「發送」給工作人員。 - 在我們的使用中,我們隱藏GL視圖以確保它在加載狀態時不需要繪製。 (坦率地說,在加載期間,它可能不包含任何有用的東西。)因此,在異步加載期間,可見UI全部爲非GL可可。
這種方法比您在桌面上做的要困難得多:只需在兩個上下文中共享對象(以便您可以同時加載和繪製)。當我們在一年多前研究這種方法時,內部監督辦公室是不可能的;現在可能有可能,我不知道。
相關問題
- 1. 從OpenGL視圖加載UIView
- 2. Iphone:旋轉後重新加載視圖
- 3. 在iphone應用程序加載視圖後加載數據
- 4. 如何在後臺加載36mb視頻
- 5. iPhone模式加載視圖
- 6. 重新加載視圖iPhone
- 7. 在後臺加載
- 8. 在後臺捕獲視圖
- 9. iPhone正在加載不同的視圖
- 10. ASP.Net在後臺加載圖片
- 11. 使用Flex在後臺加載圖像
- 12. 如何在後臺加載圖片?
- 13. iPhone viewDidAppear在加載/解散模態視圖後停止點火
- 14. 從後臺加載緩存的圖像在後臺線程android
- 15. iPhone:添加「加載」子視圖
- 16. 加載視圖後的setBarTintColor
- 17. javascript在後臺加載url
- 18. 在後臺加載UIImagePickerController
- 19. JavaFX在後臺加載
- 20. 在OpenGL ES中加載非冪次的圖像iPhone
- 21. 從後臺線程添加視圖
- 22. iPhone - 創建一個加載視圖
- 23. 使用iPhone SDK創建「加載...」視圖
- 24. iPhone - 錯誤加載視圖控制器
- 25. iPhone UILocalNotification加載特定視圖
- 26. 在視圖加載後在視圖中設置角點半徑
- 27. 如何在iPhone中從後臺進程重新加載UIViewcontroller?
- 28. 異步紋理加載iPhone OpenGL ES 2
- 29. OpenGL高度圖加載器
- 30. IPhone + performselector在後臺