在DirectX / 3D中绘制圆角矩形用于2D

时间:2011-01-02 07:49:16

标签: c++ direct3d rounded-corners

我正在使用Direct3D在我的C ++应用程序中绘制2D元素,如果我可以创建尺寸不同的圆角矩形GUI元素,它会很整洁,但我不知道如何做到这一点以最有效的方式。

我想到了“简单”的方法,即将四个角的图像放在适当的位置,然后填入其余部分,但矩形角的变化半径将是一个明确的优点,而且这种方法不能很好地适应这个特征。

通过我的搜索,我遇到了Pixel Shader,Stencil Buffering和HLSL这两个术语,但我不确定这些术语是否相关,如果是这样的话,应该跳到哪一个。

提前致谢,
Jengerer

1 个答案:

答案 0 :(得分:1)

理想情况下,您可以通过将正方形向上划分来创建9个多边形。然后,9个图像绘制角/侧/中心,您可以根据需要进行缩放。

为了做到这一点,您将需要知道如何绘制和纹理贴图多边形,它可以让您根据需要缩放角点和框。