如何在後臺運行的OpenGL動畫之上實現「常規」繪製(通常在drawRect方法中完成)?我的應用程序是OpenGL應用程序,它是默認的Xcode遊戲應用程序模板。 GLKViewController沒有drawRect方法,當我添加一個時,它永遠不會被調用。我試圖在drawInRect方法(它確實存在)中實現繪圖代碼,但我得到運行時錯誤。所以總結一下:我想繪製不使用OpenGL的東西(線條,路徑,不管),而是使用常規的石英基元,並將其顯示在現有的3d渲染之上。在OpenGL層上繪製「Regular」
0
A
回答
0
要確保drawRect
被調用,你應該走另一條路線:創建一個標準的可可觸摸的項目,改變主視圖的+ (Class)layerClass
方法返回[CAEAGLLayer class]
,然後開始與繪畫。請注意,CAEAGLLayer
documentation特別警告您不要做您想做的事:
避免在CAEAGLLayer對象之上繪製其他圖層。如果您必須繪製其他非OpenGL內容,則可能會發現如果將透明2D內容放置在GL內容之上,並且確保OpenGL內容不透明並且不進行轉換,則性能成本可以接受。
退房的GLPaint
項目顯示layerClass
超越簡單的OpenGL ES項目中(PaintingView.m
)。他們使用layoutSubviews
和touchesBegan/Moved/Ended
來完成繪圖。
相關問題
- 1. 在mac上用OpenGL繪製YUV幀
- 2. 在gluSphere上繪製的OpenGL線?
- 3. 使用OpenGL在android上繪製文本
- 4. Julia在Gadfly上繪製未知層數
- 5. 繪製在最上層的發展觀
- 6. 安卓在圖層上的繪製
- 7. 在柵格圖層上繪製XYZ點
- 8. 如何在開放層中的繪製線串上繪製點
- 9. 在OpenGL中繪製線條
- 10. 在opengl繪製矩形android
- 11. 在opengl中繪製網格
- 12. 在opengl中繪製點
- 13. 如何在iOS上使用OpenGL ES實現多層次繪圖?
- 14. OpenGL繪製網格
- 15. (OpenGL)CubeMap未繪製
- 16. 在GDI中繪製圖層
- 17. R小冊子在覆蓋圖層上繪製基礎圖層
- 18. KineticJS - 在屏幕畫布上繪製一層圖層
- 19. BING地圖層和PINS:如何在POLYGON層上繪製圖釘?
- 20. OpenGL ES 2 2D分層繪圖
- 21. 強制重繪層
- 22. 繪製分層OpenGL ES內容的最佳方式是什麼?
- 23. 上層3dPlot繪製網格(gnuplot的5)
- 24. 在java上分層繪畫?
- 25. 在CA層上繪圖
- 26. 在MFC上面繪製OpenGL上下文的文本
- 27. Java openGL繪製紋理
- 28. 繪製3D使用OpenGL
- 29. 使用OpenGL繪製NG
- 30. OpenGL紋理沒有繪製?
謝謝。我發現實際繪圖在renderLineFromPoint中調用[context presentRenderbuffer:GL_RENDERBUFFER_OES]。但是,如何將常規石英繪圖命令合併到此GL層之上的圖層中?我假設我不能使用與GL層相同的「上下文」? – 2012-01-11 18:51:44
在Interface Builder或代碼中,將額外的'UIView'定義爲主視圖的子視圖。每個'UIView'都有一個內部的'CALayer',所以當它被要求繪製自己時,它將使用該層的上下文。當時的GL背景是無關緊要的。 – darvids0n 2012-01-12 00:47:52
[This SO question](http://stackoverflow.com/questions/4500708/marrying-core-animation-with-opengl-es)可能會有所幫助。 – darvids0n 2012-01-12 00:51:02