Opengl GPU上的二次曲线笔划宽度

Opengl GPU上的二次曲线笔划宽度,opengl,rust,graphics,glsl,gpu,Opengl,Rust,Graphics,Glsl,Gpu,我想知道如何使用三角形绘制曲线,因此我最终阅读了这两篇文章。 正如我正确理解的,硬件在三个顶点上插值u和v 这是我的结果 我的三角形坐标 vec![100.0, 100.0 100.0, 100.0, 200.0, 100.0]; 紫外坐标 vec![0.0, 0.0 0.5, 0.0 1.0, 1.0] 我的片段着色器如下所示 #版本430核心 输出vec4 frag_颜色; 在vec2uv中; 在vec4条索中; void main(){ 浮动x=uv.x; 浮动y=uv.y; 浮点

我想知道如何使用三角形绘制曲线,因此我最终阅读了这两篇文章。

正如我正确理解的,硬件在三个顶点上插值u和v

这是我的结果

我的三角形坐标

vec![100.0, 100.0
100.0, 100.0,
200.0, 100.0];
紫外坐标

vec![0.0, 0.0
0.5, 0.0
1.0, 1.0]
我的片段着色器如下所示

#版本430核心
输出vec4 frag_颜色;
在vec2uv中;
在vec4条索中;
void main(){
浮动x=uv.x;
浮动y=uv.y;
浮点结果=(x*x)-y;
如果(结果>0.0){
frag_color=vec4(1.0,0.1,0.5,1.0);
}否则{
frag_color=vec4(2.0,0.2,3.0,1.0);
}
}
我想在中点打好一杆。我尝试了以下方法

if(结果>0.01){
frag_color=vec4(1.0,0.1,0.5,1.0);
}否则如果(结果<-0.01){
frag_color=vec4(2.0,0.2,1.0,1.0);
}否则{
frag_color=vec4(2.0,0.2,3.0,0.0);//中点
}
我知道了

但是当我尝试调整三角形的大小时,我得到了这个结果

笔划宽度较厚,但我希望在上一张图像中保持宽度。 我不知道如何做到这一点,这可能吗?

我的工作是为了解决OpenGL管道的限制(但是我使用了曲线距离,而不是你所缺少的方法),几年前,但我最终得到了一些完全不同的东西,更酷/快速/高效。请看,或者像我一样使用立方体(它们更好)或者降低到你的二次曲线。。。