0.0.2 • Published 12 years ago
draw-billboard v0.0.2
draw-billboard
Draws a 2D billboarded sprite in WebGL. Useful for debugging and small special effects.
Example
var shell = require("gl-now")()
var camera = require("game-shell-orbit-camera")(shell)
var renderText = require("gl-render-text")
var drawBillboard = require("draw-billboard")
var mat4 = require("gl-matrix").mat4
var texture
var positions = new Array(100)
shell.on("gl-init", function() {
var gl = shell.gl
texture = renderText(gl, "Billboard")
for(var i=0; i<100; ++i) {
positions[i] = [ 100 * (0.5 - Math.random()),
100 * (0.5 - Math.random()),
100 * (0.5 - Math.random()) ]
}
})
shell.on("gl-render", function() {
var proj = mat4.perspective(mat4.create(), Math.PI/4.0, shell.width/shell.height, 0.1, 1000.0)
var view = camera.view()
for(var i=0; i<100; ++i) {
drawBillboard(shell.gl, positions[i], { texture: texture, projection: proj, view: view })
}
})Install
npm install draw-billboardAPI
require("draw-billboard")(gl, position[, options])
Draws a billboard at the given position.
glis a WebGL contextpositionsis the position of the billboarded spriteoptionsis an object containing the following properties:textureA WebGL texture objectloLower texture coordinatehiUpper texture coordiantewidthWidth of billboard to drawheightHeight of billboard to drawmodelModel matrix for billboardviewView matrix for billboardprojectionProjection matrix for billboard
Credits
(c) 2013 Mikola Lysenko. MIT License