/** * Renders a scene with a camera * @param graphics R3.GraphicsRuntime * @param apiRenderTargetCube R3.D3.API.RenderTarget.Cube * @constructor */ R3.D3.RenderTarget.Cube = function ( graphics, apiRenderTargetCube ) { this.graphics = graphics; this.graphics.isNotThreeThrow(); if (R3.Utils.UndefinedOrNull(apiRenderTargetCube)) { apiRenderTargetCube = { renderTargetType : R3.D3.API.RenderTarget.TARGET_TYPE_CUBE }; } R3.D3.API.RenderTarget.Cube.call( this, apiRenderTargetCube ); R3.D3.RenderTarget.call( this, this.graphics, this ); }; R3.D3.RenderTarget.Cube.prototype = Object.create(R3.D3.RenderTarget.prototype); R3.D3.RenderTarget.Cube.prototype.constructor = R3.D3.RenderTarget.Cube; /** * Creates a Render Target instance * @returns {*} */ R3.D3.RenderTarget.Cube.prototype.createInstance = function() { this.instance = new THREE.WebGLRenderTargetCube( this.width, this.height, this.textureParameters ); R3.D3.RenderTarget.prototype.createInstance.call(this); }; /** * updates instance */ R3.D3.RenderTarget.Cube.prototype.updateInstance = function(property) { R3.D3.RenderTarget.prototype.updateInstance.call(this, property); }; /** * Render Target to API Render Target * @returns {R3.D3.API.RenderTarget.Cube} */ R3.D3.RenderTarget.Cube.prototype.toApiObject = function() { var apiRenderTarget = R3.D3.RenderTarget.prototype.toApiObject.call( this ); var apiRenderTargetCube = new R3.D3.API.RenderTarget.Cube( apiRenderTarget ); return apiRenderTargetCube; };