Skip to content

Instantly share code, notes, and snippets.

@deathbearbrown
Created November 18, 2015 16:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deathbearbrown/3a562e9e604c6dd61f59 to your computer and use it in GitHub Desktop.
Save deathbearbrown/3a562e9e604c6dd61f59 to your computer and use it in GitHub Desktop.
function makeTextSprite( message, parameters )
{
if ( parameters === undefined ) parameters = {};
var fontface = parameters.hasOwnProperty("fontface") ?
parameters["fontface"] : "Helvetica";
var fontsize = parameters.hasOwnProperty("fontsize") ?
parameters["fontsize"] : 70;
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
context.font = fontsize + "px " + fontface;
// get size data (height depends only on font size)
var metrics = context.measureText( message );
var textWidth = metrics.width;
// text color
context.fillStyle = "rgba(0, 0, 0, 1.0)";
context.fillText( message, 0, fontsize);
// canvas contents will be used for a texture
var texture = new THREE.Texture(canvas)
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
var spriteMaterial = new THREE.SpriteMaterial({ map: texture, useScreenCoordinates: false});
var sprite = new THREE.Sprite( spriteMaterial );
sprite.scale.set(100,50,1.0);
return sprite;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment