Sha256: e744a55ab975c98068b8f8c94aff1fb8faeb0df088eaf5f022479965232a0c67

Contents?: true

Size: 978 Bytes

Versions: 2

Compression:

Stored size: 978 Bytes

Contents

#= require 'jax/renderer'

Jax.Renderer.register class Jax.Renderer.WebGL
  constructor: (canvas, options) ->
    throw new Error "WebGL not supported!" unless canvas.getContext
    @context = canvas.getContext 'experimental-webgl', options
    throw new Error "WebGL not supported!" unless @context
    
    @context.clearColor 0.0, 0.0, 0.0, 1.0
    @context.clearDepth 1.0
    @context.enable     GL_DEPTH_TEST
    @context.depthFunc  GL_LESS
    @context.enable     GL_BLEND
    @context.blendFunc  GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
    @context.enable     GL_CULL_FACE
    
  clear: ->
    @context.clear GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT
    
  ###
  Prepare to render the scene.
  ###
  prepare: ->
    @viewport()
    
  viewport: ->
    canvasWidth  = @context.canvas.clientWidth  || @context.canvas.width
    canvasHeight = @context.canvas.clientHeight || @context.canvas.height
    @context.viewport 0, 0, canvasWidth, canvasHeight

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jax-3.0.0.rc2 lib/assets/javascripts/jax/renderers/webgl.js.coffee
jax-3.0.0.rc1 lib/assets/javascripts/jax/renderers/webgl.js.coffee