我一直有問題,並且,花費一個星期嘗試各種解決方案和撕裂我的頭髮後,我來到這裏,看看是否有人可以幫助我。問題:渲染停止與Mac OS X上的OpenGL 10.6
我工作的一個3D瀏覽器插件適用於Mac的(我有一個在Windows上運行)。唯一完全硬件加速的方法是使用CAOpenGLLayer(或從中繼承的東西)。如果創建了NSWindow,並將該圖層附加到該窗口的NSView,那麼一切正常。但是,出於某種原因,我只能在將圖層傳遞到瀏覽器時獲取特定數量的幀(16)。
可可叫我層的drawInCGLContext的第16幀。然後,由於某種未知的原因,它會停止調用它。 16看起來像一個非常具體的和程序化的幀數,所以我想知道是否有人瞭解爲什麼drawInCGLContext在16幀後不會被調用?
我有理由相信這不是因爲我通過層到瀏覽器 - 我已經創建了一個很小的例子的插件,使用呈現一個CAOpenGLLayer旋轉四和實際工作。但完整的插件比這更復雜,我只是不知道在哪裏看。我只是不知道爲什麼drawInCGLContext停止被調用。我嘗試過使用CATransaction強制它,它肯定會發送setNeedsDisplay消息 - 但drawInCGLContext永遠不會被調用。 OpenGL也不會報告任何錯誤(我目前正在檢查所有OpenGL調用的結果)。我很困惑!幫幫我?
你能詳細說明一下嗎? – slayton 2012-04-09 20:26:18