1
當我的窗口全屏顯示時,我必須做些什麼來獲得新的更高分辨率視圖的OpenGL渲染上下文(或更改現有的上下文)?如何在Lion中切換OpenGL全屏渲染?
眼下窗口委託我
- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize {
return [theOpenGLView bounds].size;
}
這是相當沒有意義的,因爲我剛剛得到一個massize亞麻背景相同大小的窗口。 我試過返回[[NSScreen mainScreen] frame].size
,但這只是把我的OpenGL窗口放在角落,屏幕的其餘部分被灰色的視圖背景覆蓋。我試圖更新我的glViewport
和投影矩陣,並呼籲[myNSOpenGLContext update]
,但這也不起作用。
所有的蘋果文檔似乎是舊的全屏系統。如果有人能夠正確列舉所需的步驟,我將不勝感激。
你有沒有嘗試更新在NSOpenGLView重塑方法的視口? – TheAmateurProgrammer 2012-02-05 06:32:12
目前過渡有什麼樣的恐怖?另外,你有沒有考慮在全屏轉換中使用舊式的淡出/淡出?這樣可以避免您需要以中等尺寸進行渲染,並且對多顯示器設置更友好。 – user57368 2012-02-07 02:02:04
由於horredous我的意思是閃爍的VRAM垃圾遍佈。你說得對 - 我只是想出如何做我想做的事。我重寫'setFrame:'來更新我的OpenGL渲染器,但是轉換非常緩慢。我認爲我需要做的是渲染當前窗口,然後將整個屏幕尺寸渲染到屏幕外(對於紋理或幀緩衝區?),並以某種方式在這些窗口之間進行插值。 – mk12 2012-02-07 02:06:07