Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 C# 中的 OpenTK 开发游戏。目前正在尝试实现暂停菜单系统。
我需要您帮助的一项功能是在菜单出现时使整个屏幕变暗。
渲染完所有内容后,有什么方法可以对每个像素(RGB 的一半?)进行最终修改?如果不是,我知道在屏幕上绘制一个四边形是可行的,但我似乎无法弄清楚如何获得半透明以使用 OpenTK 四边形。
可以做的是创建一个半不透明的灰色图像。当游戏暂停时,只需在所有内容的顶部绘制该纹理(但可能在暂停文本下方,这样它也不会显示为灰色)所有游戏元素仍将显示出来(因为纹理是不透明的),但是它们实际上会“变灰”。
一个简单的效果,它只使用 100% 和 0% 的 alpha,但使屏幕“变暗”,是具有黑色和清晰像素的棋盘图案(暗 50%),并将其渲染到屏幕上。
这样做的缺点是它不会完美地“变暗”屏幕,但它比处理部分透明度更快,并且可以产生很好的效果(有点多样性)。