function CSS3DRenderer(domElement)
{
	/**
	 * Size of the renderer viewport.
	 *
	 * @attribute size
	 * @type {Vector2}
	 */
	this.size = new Vector2(2, 2);

	/**
	 * Size of the renderer viewport.
	 *
	 * @attribute size
	 * @type {Vector2}
	 */
	this.halfSize = new Vector2(1, 1);

	/**
	 * Temporary matrix object.
	 *
	 * @attribute matrix
	 * @type {Matrix4}
	 */
	this.matrix = new Matrix4();

	/**
	 * Object cache, used to store the rendered objects state.
	 *
	 * @attribute cache
	 * @type {Object}
	 */
	this.cache =
	{
		camera: {fov: 0, style: ""},
		objects: new WeakMap()
	};

	/**
	 * Main DOM element used for the renderer.
	 *
	 * @attribute domElement
	 * @type {Element}
	 */
	this.domElement = domElement !== undefined ? domElement : document.createElement("div");
	this.domElement.style.overflow = "hidden";
	this.domElement.style.pointerEvents = "none";

	/**
	 * Camera projected DOM element.
	 *
	 * @attribute domElement
	 * @type {Element}
	 */
	this.cameraElement = document.createElement("div");
	this.cameraElement.style.WebkitTransformStyle = "preserve-3d";
	this.cameraElement.style.transformStyle = "preserve-3d";
	this.domElement.appendChild(this.cameraElement);
}
3D renderer using DOM elements.

Applies the threejs transformation hierarchy to the DOM element using CSS3D.

Only renders CSS specific objects, the output of the renderer is not combined with the WebGL output. Everything is renderer of top.

Based on the three.js adaptation (mrdoob, yomotsu) of http:// www.emagix.net/academic/mscs-project/item/camera-sync-with-css3-and-webgl-threejs

@class CSS3DRenderer
@param {Component} domElement DOM division to place rendered objects.