0

我用 DirectX 创建了自己的小 2D 引擎(好吧,最终应该更像一个 GUI)并尝试为简单的矩形创建圆角边缘。因为在我不知道如何提供它之前,我从来没有用图形框架做过这个。现在,我只是重叠了 5 个矩形和 4 个圆圈(圆圈用于圆边)。它确实适用于不透明的颜色,但如果我将 alpha 添加到矩形中,圆圈就会出现问题。(如下图所示 - 我应该选择其他颜色...)

<# 打开图片 #>

我自己找不到解决方案(我用谷歌搜索并发现我没有发现 DirectX 中的圆边),我相信有一种更强大、更快的方法可以做到这一点。所以我的最后一个问题是,在 Direct3D9 中创建圆角矩形的常用算法是什么?

4

1 回答 1

1

绘制圆角四边形的常用方法是使用带有 alpha 通道的纹理。这非常简单,并且大部分 gui 使用图像来实现特定的外观。如果您只绘制单色框,它可能会在一段时间后看起来非常普通(即使它们有花哨的圆角;))。

但是,如果您想直接绘制圆角四边形,我想生成一个自定义几何图形,它直接适合所需区域而不会重叠(需要 alphablending)。在你的情况下,它会是这样的:

圆形四边形的几何形状

您用于角落的三角形越多,它看起来就越平滑。

于 2014-01-28T08:45:27.560 回答