threex
Version:
Game Extensions for three.js http://www.threejsgames.com/extensions/
24 lines (22 loc) • 1 kB
JavaScript
var THREEx = THREEx || {}
THREEx.CheckerBoard = function(width, height, segmentsW, segmentsH, materialEven, materialOdd){
console.assert(width !== undefined)
console.assert(height !== undefined)
segmentsW = segmentsW !== undefined ? segmentsW : 8
segmentsH = segmentsH !== undefined ? segmentsH : 8
materialEven = materialEven !== undefined ? materialEven : new THREE.MeshBasicMaterial({ color: 0xffffff })
materialOdd = materialOdd !== undefined ? materialOdd : new THREE.MeshBasicMaterial({ color: 0x000000 })
// create the geometry
var geometry = new THREE.PlaneGeometry( width, height, segmentsW, segmentsH );
// set materials per faces
geometry.faces.forEach(function(face, idx){
var y = Math.floor(idx / segmentsW);
var x = idx - (y*segmentsW);
face.materialIndex = (y % 2 + x%2 ) %2;
});
// create the mesh
var material = new THREE.MeshFaceMaterial([materialEven, materialOdd]);
var mesh = new THREE.Mesh(geometry, material);
mesh.rotation.x = -Math.PI/2;
return mesh
}