我見過iOS應用程序中使用的EAGLView和GLKView。他們之間有什麼區別?GLKView和EAGLView有什麼區別?
15
A
回答
31
這兩個類都與OpenGL ES相關,但其中只有一個實際上由Apple提供,作爲iOS SDK的一部分。
EAGLView
不是Cocoa Touch框架提供的類。在Apple OpenGL ES模板和示例代碼中,他們創建了具有宿主OpenGL ES內容的名稱的類。其他人已將這些課程複製並粘貼到他們撰寫的關於該主題的教程中。一般而言,具有此名稱的所有類的一個元素具有共同點,即它們覆蓋+layerClass
方法以返回[CAEAGLLayer class]
,表明這些視圖將在其支持層內託管OpenGL ES內容。
GLKView
是iOS 5.0中新增的,作爲GLKit框架的一部分。 GLKit旨在通過提供像GLKView這樣的輔助類來簡化顯示OpenGL ES材料所需的一些設置。 GLKView爲您處理幀緩衝區和渲染緩衝區的設置,以及您通常需要編寫代碼的一些其他任務。
你可能不會看到這個類在教程中被大量使用,因爲它們中的很多都是在iOS 5.0之前編寫的,但這是一個方便的助手類,可以簡化iOS OpenGL ES渲染。
相關問題
- 1. 有什麼區別`和$(Bash中有什麼區別?
- 2. 有什麼區別? :和||
- 3. &&和||有什麼區別?
- 4. 「/」和「/ *」有什麼區別?
- 5. 有什麼區別:。!和:r!?
- 6. ==和===有什麼區別?
- 7. Appender和〜有什麼區別?
- 8. $ @和$ *有什麼區別?
- 9. is和=有什麼區別?
- 10. #.00和#。##有什麼區別?
- 11. `==`和`is`有什麼區別?
- 12. '=='和'==='有什麼區別?
- 13. /和/#/有什麼區別?
- 14. | 0和~~有什麼區別?
- 15. `&`和`ref`有什麼區別?
- 16. ==和===有什麼區別?
- 17. ==和===有什麼區別?
- 18. `{}`和`[]`有什麼區別?
- 19. JavaScript和=== ===有什麼區別?
- 20. difftime和' - '有什麼區別?
- 21. =和==有什麼區別?
- 22. xtype和別名有什麼區別?
- 23. Mixpanel:識別()和people.identify()有什麼區別?
- 24. 有什麼區別
- 25. 有什麼區別
- 26. 有什麼區別?
- 27. 有什麼區別?
- 28. 有什麼區別?
- 29. 有什麼區別
- 30. ....有什麼區別?
感謝布拉德爲您卓有成效的答覆 –
很好的答案。有一個歷史背景來解釋爲什麼事情按照他們的方式完成是很有幫助的。 – Dalbergia