r3-legacy/src/r3-d3-api-composer.js

69 lines
1.7 KiB
JavaScript

/**
* R3.D3.API.Composer
* @param apiComponent
*
* @property size
* @property renderer
* @property viewport
* @property renderTargetA
* @property renderTargetB
* @property passes
*
* @constructor
*/
R3.D3.API.Composer = function(
apiComponent
) {
__API_COMPONENT__;
if (R3.Utils.UndefinedOrNull(apiComponent.size)) {
apiComponent.size = new R3.API.Vector2(
{
parent : this,
register : true,
x : 512,
y : 512
}
);
}
this.size = apiComponent.size;
if (R3.Utils.UndefinedOrNull(apiComponent.renderer)) {
apiComponent.renderer = this.getFirstParent(R3.API.Renderer.D3);
}
this.renderer = apiComponent.renderer;
if (R3.Utils.UndefinedOrNull(apiComponent.viewport)) {
apiComponent.viewport = this.getFirstParent(R3.D3.API.Viewport);
}
this.viewport = apiComponent.viewport;
if (R3.Utils.UndefinedOrNull(apiComponent.rendererTargetA)) {
apiComponent.rendererTargetA = new R3.D3.API.RenderTarget(
{
parent : this
}
)
}
this.rendererTargetA = apiComponent.rendererTargetA;
if (R3.Utils.UndefinedOrNull(apiComponent.renderTargetB)) {
apiComponent.renderTargetB = new R3.D3.API.RenderTarget(
{
parent : this
}
)
}
this.renderTargetB = apiComponent.renderTargetB;
if (R3.Utils.UndefinedOrNull(apiComponent.passes)) {
apiComponent.passes = [];
}
this.passes = apiComponent.passes;
};
R3.D3.API.Composer.prototype = Object.create(R3.API.Component.prototype);
R3.D3.API.Composer.prototype.constructor = R3.D3.API.Composer;