UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

2 lines (1 loc) 1.2 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("./CompositorNode.js"),t=require("../core/glenum.js"),r=require("../FrameBuffer.js"),s=e.default.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},(function(){this.frameBuffer=new r.default}),{render:function(e){this._rendering=!0;var r,s=e.gl;if(this.trigger("beforerender"),this.outputs){var a=this.frameBuffer;for(var i in this.outputs){var u=this.updateParameter(i,e),n=this.outputs[i],o=this._compositor.allocateTexture(u);this._outputTextures[i]=o,"string"==typeof(h=n.attachment||s.COLOR_ATTACHMENT0)&&(h=s[h]),a.attach(o,h)}a.bind(e);var d=e.getGLExtension("EXT_draw_buffers");if(d){var f=[];for(var h in this.outputs)(h=parseInt(h))>=s.COLOR_ATTACHMENT0&&h<=s.COLOR_ATTACHMENT0+8&&f.push(h);d.drawBuffersEXT(f)}e.saveClear(),e.clearBit=t.default.DEPTH_BUFFER_BIT|t.default.COLOR_BUFFER_BIT,r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),e.restoreClear(),a.unbind(e)}else r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);this.trigger("afterrender",r),this._rendering=!1,this._rendered=!0}});exports.default=s;