69 lines
1.7 KiB
JavaScript
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;
|