如果我使用標準NSWindow
來承載所有窗口框架延伸的NSOpenGLView
,窗口的兩個底角將自動變圓。Cocoa OpengGL:繪製紋理和圓角
當交換到NSBorderlessWindowMask
我必須處理角落四捨五入。 我已經實現了一個透明的自定義NSWindow
和一個舍入的自定義NSView
,他們都工作正常。 之後,我通過將NSOpenGLCPSurfaceOpacity
設置爲0來實現了透明NSOpenGLContext
。 如果我爲OpenGL上下文設置了顏色背景,則該視圖將被正確繪製,並獲得所需的圓角。
但是,由於該應用程序是一個電影播放器,我需要繪製與每個電影幀對應的紋理。
當我這樣做時(使用glTexCoord2f
和glVertex2f
)紋理被繪製到角落,因此圖像被繪製到圓角之外,我鬆開了窗口的圓角部分。
當窗口是標準的時,系統會做什麼,並且非NSBorderlessWindowMask
我似乎無法重現?
將紋理的角落畫到幀緩衝區的最佳方式是什麼?
你有這些解決方案之一的樣本?因爲我對編程非常陌生,特別是對於OpenGL,我實際上並不知道如何實現你所建議的 – Andrea3000
我已經知道了。我已經使用了一個額外的alpha蒙版。非常感謝您的幫助! – Andrea3000