javascript - BufferGeometry 和 LineBasicMaterial : segments thickness

标签 javascript three.js buffer-geometry

因此,我使用了 THREE.BufferGeometry,并且我能够通过 color 属性很好地控制线条各个段的颜色。

geometry = new THREE.BufferGeometry();
var material = new THREE.LineBasicMaterial({
  vertexColors: THREE.VertexColors
});
geometry.addAttribute('position', new THREE.BufferAttribute(points, 3));
geometry.addAttribute('color', new THREE.BufferAttribute(colors, 3));

scene.add(new THREE.Line(geometry, material, THREE.LinePieces));

有什么方法可以添加自定义属性并将其与 LineBasicMaterial.linewidth 绑定(bind),以便我可以更改线条各个段的粗细?

最佳答案

您可以创建一个着色器来构建线条并控制每个线段的粗细。查看这篇文章https://processing.org/tutorials/pshader/ (第 10 章。点和线着色器)

关于javascript - BufferGeometry 和 LineBasicMaterial : segments thickness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32544413/

相关文章:

javascript - jsonloader 纹理未加载

javascript - 取消分配 BufferGeometry?

javascript - Three.js BufferGeometry 与粒子几何

javascript - 通过实例化,我无法更改各个子几何图形的透明度/不透明度

javascript - 限制一次预订的座位数量

javascript - Uncaught Error : [$injector:modulerr] & Uncaught ReferenceError: app is not defined

javascript - 我如何使用 JavaScript (jQuery) 按照惯例在 HTML 中创建一个元素的副本作为新元素?

javascript - 未捕获的类型错误 : String is not a function

webgl - Threejs/WebGL : Most performant way for just cubes?

javascript - 计算 3d 空间中特定距离的两点之间的点