如何在OpenGL立即模式下使用Alpha混合绘制圆角矩形

时间:2015-03-04 01:53:26

标签: opengl shadow rectangles alphablending immediate-mode

我找到了一些代码,可以让我在OpenGL立即模式下绘制一个圆角矩形(here)。

我想要做的是减少alpha,离矩形中心越远 - 就像在Windows / Mac窗口或对话框中找到的那样,例如绘制阴影的地方。

有人可以给我一个关于如何做到这一点的例子吗?

1 个答案:

答案 0 :(得分:1)

这对于几何体来说相对容易。

为两个圆角矩形创建顶点:内部矩形和外部矩形。为内部矩形指定1的alpha,为外部矩形指定0的alpha。三角形内部矩形和两个矩形之间的空间。除非你特别要求,否则alpha将在内部矩形和外部矩形之间平滑插值。

这样的事情:

geometry for rounded rectangles

使用纹理并将矩形切成9个部分可能会有更好的效果 - 这可能会为您提供更好的输出,更简单的几何图形和更简单的代码,具体取决于您的应用程序。