/** * 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;