/** * @author zz85 / http://www.lab4games.net/zz85/blog * @author alteredq / http://alteredqualia.com/ * * For creating 3D text geometry in three.js * * Text = 3D Text * * parameters = { * size: , // size of the text * height: , // thickness to extrude text * curveSegments: , // number of points on the curves * * font: , // font name * weight: , // font weight (normal, bold) * style: , // font style (normal, italics) * * bevelEnabled: , // turn on bevel * bevelThickness: , // how deep into text bevel goes * bevelSize: , // how far from text outline is bevel * } * */ /* Usage Examples // TextGeometry wrapper var text3d = new TextGeometry( text, options ); // Complete manner var textShapes = THREE.FontUtils.generateShapes( text, options ); var text3d = new ExtrudeGeometry( textShapes, options ); */ THREE.TextGeometry = function ( text, parameters ) { parameters = parameters || {}; var textShapes = THREE.FontUtils.generateShapes( text, parameters ); // translate parameters to ExtrudeGeometry API parameters.amount = parameters.height !== undefined ? parameters.height : 50; // defaults if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10; if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8; if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; THREE.ExtrudeGeometry.call( this, textShapes, parameters ); this.type = 'TextGeometry'; }; THREE.TextGeometry.prototype = Object.create( THREE.ExtrudeGeometry.prototype ); THREE.TextGeometry.prototype.constructor = THREE.TextGeometry;