표준 NSWindow
을 사용하여 모든 창 프레임에 대해 NSOpenGLView
을 호스트하는 경우 창의 두 하단 모서리가 자동으로 반올림됩니다.코코아 OpengGL : 텍스처와 둥근 모서리를 그립니다.
NSBorderlessWindowMask
으로 바꿀 때 코너 라운딩을 직접 처리해야합니다. 투명 사용자 정의 NSWindow
및 반올림 지정 NSView
을 이미 구현했으며 둘 다 정상적으로 작동합니다. 그런 다음 NSOpenGLCPSurfaceOpacity
을 0으로 설정하여 투명 NSOpenGLContext
을 구현했습니다. OpenGL 컨텍스트에 대한 색 배경을 설정하면보기가 올바르게 그려지고 원하는 둥근 모서리를 얻습니다.
그러나 앱이 무비 플레이어이므로 모든 무비 프레임에 해당하는 텍스처를 그릴 필요가 있습니다.
이렇게하면 (glTexCoord2f
및 glVertex2f
) 질감이 모서리까지 그려 지므로 이미지가 둥근 모서리의 바깥 쪽에서 그려지고 내 창의 둥근면이 느슨해집니다.
윈도우가 표준이고 이 아닌 경우NSBorderlessWindowMask
으로 재생할 수없는 시스템은 무엇을 수행합니까?
텍스처를 프레임 버퍼로 가져 오는 동안 텍스처 모서리를 둥글게 만드는 가장 좋은 방법은 무엇입니까?
이러한 솔루션 중 하나에 대한 샘플이 있습니까? 왜냐하면 저는 프로그래밍에 매우 익숙하고, 특히 OpenGL에 익숙하지 않기 때문에 실제로 제안한 것을 구현하는 방법을 알지 못합니다. – Andrea3000
나는 그것을 알아 냈습니다. 알파 마스크를 추가로 사용했습니다. 당신의 도움을 주셔서 대단히 감사합니다! – Andrea3000