class OBJExample
init : () ->
@top_node = new PXL.Node()
@promise = new PXL.Util.Promise()
@promise.then () =>
g.matrix.translate(new PXL.Math.Vec3(0,0,0))
console.log "OBJ Node added"
@top_node.add g
@obj_node = g
@c = new PXL.Camera.MousePerspCamera new PXL.Math.Vec3(0,0,25)
@top_node.add @c
@ambientlight = new PXL.Light.AmbientLight new PXL.Colour.RGB(0.1, 0.1, 0.1)
@light = new PXL.Light.PointLight new PXL.Math.Vec3(0.0,0.0,2.0), new PXL.Colour.RGB(0.1,0.1,0.1)
@light2 = new PXL.Light.PointLight new PXL.Math.Vec3(0.0,15.0,5.0), new PXL.Colour.RGB(0.4,0.1,0.1)
@top_node.add @light
@top_node.add @light2
@top_node.add @ambientlight
uber = new PXL.GL.UberShader @top_node
@top_node.add uber
g = new PXL.Import.OBJModel "../models/test.obj", @promise
GL.enable(GL.CULL_FACE)
GL.cullFace(GL.BACK)
GL.enable(GL.DEPTH_TEST)
draw : () ->
GL.clearColor(0.95, 0.95, 0.95, 1.0)
GL.clear(GL.COLOR_BUFFER_BIT | GL.DEPTH_BUFFER_BIT)
if @obj_node?
@top_node.draw()
example = new OBJExample()
params =
canvas : 'webgl-canvas'
context : example
init : example.init
draw : example.draw
debug : true
cgl = new PXL.App params