gpt4 book ai didi

cocoa OpenGL : draw texture and round corners

转载 作者:行者123 更新时间:2023-12-03 17:15:33 25 4
gpt4 key购买 nike

如果我使用标准的 NSWindow 来托管扩展所有窗口框架的 NSOpenGLView,则窗口的两个底角会自动圆化。

当切换到NSBorderlessWindowMask时,我必须自己处理圆角。我已经实现了一个透明的自定义 NSWindow 和一个圆形的自定义 NSView,它们都工作得很好。之后,我通过将 NSOpenGLCPSurfaceOpacity 设置为 0 来实现透明的 NSOpenGLContext。如果我为 OpenGL 上下文设置颜色背景,则 View 会正确绘制,并且我会获得所需的圆角。

但是,由于该应用程序是一个电影播放器​​,因此我需要绘制与每个电影帧相对应的纹理。

当我这样做时(使用glTexCoord2fglVertex2f),纹理被绘制到角落,因此图像被绘制到圆角之外,并且我松开了圆角我的 window 的侧面。

当窗口是标准的且我似乎无法重现的NSBorderlessWindowMask时,系统会做什么?

将纹理绘制到帧缓冲区时圆角的最佳方法是什么?

最佳答案

您可以将纹理应用于具有圆角的几何体,在具有圆角的影片纹理上使用额外的 Alpha mask ,或者使用模板测试来圆化视口(viewport)的角。

关于 cocoa OpenGL : draw texture and round corners,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7685467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com