NSWindow
すべてのウィンドウ フレームに拡張する をホストするために標準を使用するとNSOpenGLView
、ウィンドウの 2 つの下隅が自動的に丸められます。
切り替えるときNSBorderlessWindowMask
は、コーナーの丸みを自分で処理する必要があります。透明なカスタムNSWindow
と丸みを帯びたカスタムを既に実装してNSView
おり、どちらも正常に機能します。その後、 0NSOpenGLContext
に設定NSOpenGLCPSurfaceOpacity
して透明を実装しました。OpenGL コンテキストに色付きの背景を設定すると、ビューが正しく描画され、目的の丸みを帯びたコーナーが得られます。
ただし、このアプリはムービー プレーヤーなので、ムービー フレームごとにテクスチャを描画する必要があります。
これを ( と を使用glTexCoord2f
してglVertex2f
) 行うと、テクスチャが角まで描画されるため、丸みを帯びた角の外側まで画像が描画され、ウィンドウの丸みが失われます。
ウィンドウが標準的で、再現できないと思われる場合 、システムは何をしますか?NSBorderlessWindowMask
テクスチャをフレーム バッファに描画する際に、テクスチャの角を丸くする最良の方法は何ですか?