function CanvasTexture(width, height, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding)
{
	/**
	 * Image is used to store a DOM canvas element.
	 * 
	 * @property image
	 * @type {Element}
	 */
	Texture.call(this, document.createElement("canvas"), mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding);

	this.name = "canvas";
	this.category = "Canvas";
	this.format = RGBAFormat;

	Object.defineProperties(this,
		{
		/**
		 * Canvas width, internal resolution of the canvas texture.
		 * 
		 * @property width
		 * @type {number}
		 */
			width:
		{
			get: function() {return this.image.width;},
			set: function(value) {this.image.width = value;}
		},

			/**
			 * Canvas height, internal resolution of the canvas texture.
			 * 
			 * @property height
			 * @type {number}
			 */
			height:
		{
			get: function() {return this.image.height;},
			set: function(value) {this.image.height = value;}
		}
		});

	this.width = width !== undefined ? width : 1;
	this.height = height !== undefined ? height : 1;

	/**
	 * Canvas context 2D, can be used to draw content do the canvas texture.
	 * 
	 * @property context
	 * @type {Context2D}
	 */
	this.context = this.image.getContext("2d");
}
Canvas textures can be used to draw content to the texture during runtime, using the context property.

Canvas textures always start with black background and a red text "Canvas Texture".

@class CanvasTexture
@extends {Texture}
@module Textures
@param {number} width Canvas width
@param {number} height Canvas height
@param {number} mapping
@param {number} wrapS
@param {number} wrapT
@param {number} magFilter
@param {number} minFilter
@param {number} format
@param {number} type
@param {number} anisotropy
@param {number} encoding