function RendererConfiguration(options)
{
	/**
	 * Canvas background color, optional only used if specified.
	 *
	 * Different from the clear color used to clear the render target.
	 *
	 * @property backgroundColor
	 * @type {string}
	 */
	this.backgroundColor = null;

	/**
	 * Prefered redering backend API to use if available.
	 *
	 * If the selected backend is not available it defaults to WebGL.
	 *
	 * Shader code might not be cross compatible between rendering backends.
	 *
	 * @property backend
	 * @type {number}
	 */
	this.backend = RendererConfiguration.WEBGL2;

	/**
	 * Defines whether the renderer should automatically clear its output before rendering a frame.
	 *
	 * @property autoClear
	 * @type {boolean}
	 */
	this.autoClear = false;

	/**
	 * Defines whether the renderer should clear the color buffer.
	 *
	 * @property autoClearColor
	 * @type {boolean}
	 */
	this.autoClearColor = false;

	/**
	 * Defines whether the renderer should clear the depth buffer.
	 *
	 * @property autoClearDepth
	 * @type {boolean}
	 */
	this.autoClearDepth = false;

	/**
	 * Defines whether the renderer should clear the stencil buffer.
	 *
	 * @property autoClearStencil
	 * @type {boolean}
	 */
	this.autoClearStencil = false;

	/**
	 * Antialiasing flag.
	 *
	 * @property antialiasing
	 * @type {boolean}
	 * @default false
	 */
	this.antialiasing = true;

	/**
	 * If true the program is rendered with shadows.
	 *
	 * @property shadows
	 * @type {boolean}
	 * @default true
	 */
	this.shadows = true;

	/**
	 * Whether the drawing buffer has a stencil buffer of at least 8 bits.
	 *
	 * @property @stencil
	 * @type {boolean}
	 */
	this.stencil = true;

	/**
	 * Shadow map filtering type.
	 *
	 * @property shadowsType
	 * @type {number}
	 * @default PCFSoftShadowMap
	 */
	this.shadowsType = PCFSoftShadowMap;

	/**
	 * Enables automatic updates to the shadows in the scene.
	 *
	 * If you do not require dynamic lighting / shadows, you may set this to false.
	 *
	 * Use renderer.shadowMap.needsUpdate to update the shadow map.
	 *
	 * @property shadowsAutoUpdate
	 * @type {boolean}
	 */
	this.shadowsAutoUpdate = true;

	/**
	 * Tonemapping can be used to remap the color of the image to a different set giving the scene a different color mood and/or dynamic color based on global luminosity.
	 *
	 * @property toneMapping
	 * @type {number}
	 * @default NoToneMapping
	 */
	this.toneMapping = NoToneMapping;

	/**
	 * Exposure level of tone mapping.
	 *
	 * @property toneMappingExposure
	 * @type {number}
	 */
	this.toneMappingExposure = 1.0;

	/**
	 * If true the renderer sorts the objects from back to front for rendering.
	 *
	 * Important if using multiple transparent objects.
	 *
	 * @property sortObjects
	 * @type {boolean}
	 */
	this.sortObjects = true;

	/**
	 * Gamma factor applied to the image.
	 *
	 * @property gammaFactor
	 * @type {number}
	 */
	this.gammaFactor = 2.0;

	/**
	 * Shader precision. Can be "highp", "mediump" or "lowp". Defaults to "highp" if supported by the device.
	 *
	 * @property precision
	 * @type {string}
	 */
	this.precision = "highp";

	/**
	 * Whether the canvas contains an alpha (transparency) buffer or not.
	 *
	 * @property alpha
	 * @type {boolean}
	 */
	this.alpha = true;

	/**
	 * Whether the renderer will assume that colors have premultiplied alpha.
	 *
	 * @property premultipliedAlpha
	 * @type {boolean}
	 */
	this.premultipliedAlpha = true;

	/**
	 * Whether to preserve the buffers until manually cleared or overwritten.
	 *
	 * @property preserveDrawingBuffer
	 * @type {boolean}
	 */
	this.preserveDrawingBuffer = false;

	/**
	 * Provides a hint to the user agent indicating what configuration of GPU is suitable for this WebGL context. Can be "high-performance", "low-power" or "default".
	 *
	 * @property powerPreference
	 * @type {string}
	 */
	this.powerPreference = "high-performance";

	/**
	 * Whether to use a logarithmic depth buffer. It may be neccesary to use this if dealing with huge differences in scale in a single scene.
	 *
	 * @property logarithmicDepthBuffer
	 * @type {boolean}
	 */
	this.logarithmicDepthBuffer = false;

	/**
	 * Whether to use physically correct lighting mode.
	 *
	 * @property physicallyCorrectLights
	 * @type {boolean}
	 */
	this.physicallyCorrectLights = false;

	/**
	 * Defines whether material shader programs are checked for errors during compilation and linkage process.
	 *
	 * @property checkShaderErrors
	 * @type {boolean}
	 */
	this.checkShaderErrors = true;

	/**
	 * The maximum number of MorphTargets allowed in a shader.
	 *
	 * @property maxMorphTargets
	 * @type {number}
	 */
	this.maxMorphTargets = 8;

	/**
	 * The maximum number of MorphNormals allowed in a shader.
	 *
	 * @property maxMorphNormals
	 * @type {number}
	 */
	this.maxMorphNormals = 4;

	// Copy values received from the options parameter
	if (options !== undefined)
	{
		for (var i in this)
		{
			if (options[i] !== undefined)
			{
				this[i] = options[i];
			}
		}
	}
}
Renderer configuration stores all the WebGL renderer related parameters.

@constructor
@class RendererConfiguration
@param {Object} options Options object with the values to be used in the rendere configuration, values not specified are set to default.