Liam Schauerman
Liam Schauerman

Reputation: 841

In Three.js, how can I give my shapes custom edge colors? ( not just setting wireframe:true )

I am making a 3d bar graph, and I would like my bars to have custom-colored edges. Anyone have any ideas? My shapes are created like this

var threeWidth = 400,
  threeHeight = 300;
var viewAngle = 45,
  aspect = threeWidth / threeHeight,
  near = 0.1,
  far = 10000;

var $chart = $('#chart');
var renderer = new THREE.WebGLRenderer();
var camera = new THREE.PerspectiveCamera(viewAngle, aspect, near, far);
var scene = new THREE.Scene();
scene.add(camera);

renderer.setSize(threeWidth, threeHeight);
$chart.append(renderer.domElement);

var geometry = new THREE.BoxGeometry( 10, 100, 10 );
var material = new THREE.MeshBasicMaterial( {color: 0xCC0000} );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );

Upvotes: 3

Views: 5899

Answers (2)

austin_ce
austin_ce

Reputation: 1152

As of r81, EdgesHelper has been deprecated in favor of:

// edges geometry
var geometry = new THREE.EdgesGeometry( mesh.geometry ); // or WireframeGeometry
var material = new THREE.LineBasicMaterial( { color: 0xffff00, linewidth: 2 } );
var edges = new THREE.LineSegments( geometry, material );
mesh.add( edges ); // add wireframe as a child of the parent mesh

See the issue on Github

Upvotes: 7

escapedcat
escapedcat

Reputation: 766

This is rather old, but I just stumbled across this...

var edges = new THREE.EdgesHelper( cube, 0x0000ff);
edges.material.linewidth = 2;
scene.add(edges);

Here's a fiddle that helped me.
EdgesHelper docs are here.

Upvotes: 6

Related Questions