我想要 webgl 中的平滑曲线,所以我尝试在顶点着色器中绘制一个矩形,并将位置发送到片段着色器中的标准化大小和大小参数,这是正方形的实际大小
in vec2 Position;
in vec2 Size;
out vec2 vPosition;
out vec2 vSize;
void main() {
vSize = Size;
vPosition = Position
gl_Position = Position * Size
}
当 size = [width, height] of square 并且对于每个顶点都相等时,position = [
-1 , -1 ,
-1 , 1 ,
1 , -1 ,
1 , 1 ,
]
因此我的矩形将在 [2 * width , 2 * height] 中绘制,但我可以在片段着色器中使用 2 * 2 正方形进行几何操作,即归一化,但是当我想用厚度参数制作空心圆时,我在片段着色器中绘制椭圆(或具有这种大小的圆)时遇到问题,它在水平方向的厚度与垂直方向的厚度不同,我知道这是因为我' m 对水平和垂直方向(2,2)使用相同的尺寸,但在显示时它们是不同的,这是导致您看到的所有厚度都不相同的问题。
我想要一个几何公式来计算每个方向的厚度,然后我可以画一个空心椭圆。
提前致谢。抱歉英语不好