r3-legacy/src/r3-d3-renderTarget-cube.js

74 lines
1.6 KiB
JavaScript

/**
* Renders a scene with a camera
* @param graphics R3.Runtime.Graphics
* @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;
};