Reputation: 1404
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.
Upvotes: 0
Views: 1274
Reputation: 31076
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
Upvotes: 1