This is my demo, i want to add linewidth to give more thickness to my quad.
I have looked to this question and i have tried to understand how i can use LineMaterial and Line2.
They seem not working in the demo.
This is the relevant code
function QuadGeometry(w, h) {
let pts = [
[0.5, 0.5],
[-0.5, 0.5],
[-0.5, -0.5],
[0.5, -0.5]
].map((p) => {
return new THREE.Vector2(p[0], p[1]);
});
let g = new THREE.BufferGeometry().setFromPoints(pts);
g.setIndex([0, 1, 2, 3, 0]);
g.scale(w, h, 1);
return g;
}
let g = QuadGeometry(
THREE.MathUtils.randInt(15, 30),
THREE.MathUtils.randInt(15, 30)
);
let m = new LineMaterial({
color: "yellow",
linewidth: 5
});
let quad = new Line2(g, m);
As you can see the quad is not visible with these changes
If i replace with LineBasicMaterial and Line the quad is visible
I have also found it can be a bug but i am very beginner with three.js
Any edit in the codesandbox it would be great to show me.
You are using an instance of BufferGeometry to create the instance of Line2 which is not supported. You have to use LineGeometry instead.
Updated codesandbox: https://codesandbox.io/s/static-forked-68lif?file=/index.html