Three.js WEBGL在顶点位置内绘制像素

Three.js WEBGL在顶点位置内绘制像素,three.js,webgl,shader,Three.js,Webgl,Shader,我是WebGL和着色器世界的新手,我想知道对我来说,仅绘制路径中的像素的最佳方法是什么。我有每个点的2d位置,我想在路径内部填充一种颜色 二维位置 填满 谁能给我指路吗?谢谢 对于您的案例,有一个简单的三角剖分(网格生成)。首先将所有顶点按CCW顺序排序。然后计算所有顶点的中点。然后在已排序的顶点上迭代,并将由中点、顶点处的点[index]和顶点处的点[index+1]组成的三角形推送到网格。与画布2d API不同,在WebGL中这样做需要对路径进行三角化。WebGL仅绘制点(正方形)、线和

我是WebGL和着色器世界的新手,我想知道对我来说,仅绘制路径中的像素的最佳方法是什么。我有每个点的2d位置,我想在路径内部填充一种颜色

二维位置

填满


谁能给我指路吗?谢谢

对于您的案例,有一个简单的三角剖分(网格生成)。首先将所有顶点按CCW顺序排序。然后计算所有顶点的中点。然后在已排序的顶点上迭代,并将由中点、顶点处的点[index]和顶点处的点[index+1]组成的三角形推送到网格。

与画布2d API不同,在WebGL中这样做需要对路径进行三角化。WebGL仅绘制点(正方形)、线和三角形。其他一切(圆、路径、三维模型)都取决于您创造性地使用这3个基本体

在你的情况下,你需要把你的路径变成一组三角形。每一个都有折衷,有些只处理凸出路径,有些不处理空洞,有些在中间加更多的点,有些则不。有些人比其他人快。也有像这样做的库

这是一个很大的话题,可以说太大了,无法在这里详细讨论

一旦将路径转换为三角形,那么将这些三角形传递到WebGL并绘制它们就非常简单了

很多答案已经涵盖了这一点。例子


或者您可能更喜欢

凸面外壳凸面外壳不会生成第二张图像,因为整个图像中仍然存在凹面角度。例如,耳朵剪辑: