我正在使用webGL渲染植绒粒子系统。我有一个用于位置的纹理和一个用于速度的纹理-每个纹理都使用片段着色器进行更新。然后,我有一个顶点着色器为位置纹理中的每个位置绘制一个点。
这将呈现以下内容。
我想做的是在两个小于N距离的点之间画一条线。我将在着色器之外执行的操作是进行n ^ 2计算并确定相邻点,然后在两者之间绘制一条线。当然,在片段着色器中,我一次只能看到一个像素。
我的想法是,对于片段着色器运行的每个像素/时间,确定半径为N的一组位置,然后确定连接的位置并计算它们之间的所有线。如果当前像素与这些线之一相交,则呈现黑色。如果没有相交,则保持透明。
这是一个好方法吗?有更好的方法吗?