You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10 lines
3.2 KiB
10 lines
3.2 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../../../chunks/tslib.es6 ../../../core/Accessor ../../../core/maybe ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../../core/libs/gl-matrix-2/math/vec2 ../../../chunks/NoiseTextureAtlas.glsl ./NoiseTextureAtlasConfiguration ./NoiseTextureAtlasDimensions ./NoiseTextureAtlasTechnique ../webgl-engine/lib/glUtil3D ../../webgl/FramebufferObject ../../webgl/TextureDescriptor".split(" "), |
|
function(c,f,m,d,k,v,w,x,n,p,q,b,g,l,r,t,u){c.NoiseTextureAtlas=class extends m{constructor(a){super(a);this._needsRender=!0;this._passParameters=new q.NoiseTextureAtlasPassParameters;this._fbo=new t.FramebufferObject(a.context.renderContext.rctx,new u.TextureDescriptor(g.atlasSize));this._vao=r.createQuadVAO(a.context.renderContext.rctx)}get _techniques(){return this.context.techniques}get textureAtlas(){null!=this._texture?null!=this._weatherMapTechnique&&this._weatherMapTechnique.compiled&&this._needsRender&& |
|
(this._texture=this._render(b.NoiseTextureRenderMode.WeatherMap)):null!=this._fullTechnique&&this._fullTechnique.compiled&&(this._texture=this._render(b.NoiseTextureRenderMode.Full));return this._texture}_setDirty(){this._needsRender=!0}updateWeatherMap(a){if(this._passParameters.weatherTile[0]!==a[0]||this._passParameters.weatherTile[1]!==a[1])p.copy(this._passParameters.weatherTile,a),this._setDirty()}destroy(){this._fullTechniqueCached=d.releaseMaybe(this._fullTechniqueCached);this._weatherMapTechniqueCached= |
|
d.releaseMaybe(this._weatherMapTechniqueCached);this._fbo=d.disposeMaybe(this._fbo);this._vao=d.disposeMaybe(this._vao)}get _fullTechnique(){if(null==this._fullTechniqueCached){const a=new b.NoiseTextureAtlasTechniqueConfiguration;a.mode=b.NoiseTextureRenderMode.Full;this._fullTechniqueCached=this._techniques.acquire(l.NoiseTextureAtlasTechnique,a)}return this._fullTechniqueCached}get _weatherMapTechnique(){if(null==this._weatherMapTechniqueCached){const a=new b.NoiseTextureAtlasTechniqueConfiguration; |
|
a.mode=b.NoiseTextureRenderMode.WeatherMap;this._weatherMapTechniqueCached=this._techniques.acquire(l.NoiseTextureAtlasTechnique,a)}return this._weatherMapTechniqueCached}_render(a){if(null==this._vao||null==this._fbo)return null;var h=a===b.NoiseTextureRenderMode.Full?this._fullTechnique:this._weatherMapTechnique;a=this.context.renderContext.rctx;const e=a.getViewport();a.setViewport(0,0,g.atlasSize,g.atlasSize);a.bindFramebuffer(this._fbo);h=a.bindTechnique(h,null,this._passParameters);a.bindVAO(this._vao); |
|
h.assertCompatibleVertexAttributeLocations(this._vao);a.gl.drawArrays(a.gl.TRIANGLE_STRIP,0,4);a.setViewport(e.x,e.y,e.width,e.height);this._needsRender=!1;return this._fbo.colorTexture}};f.__decorate([k.property({constructOnly:!0})],c.NoiseTextureAtlas.prototype,"context",void 0);f.__decorate([k.property({readOnly:!0})],c.NoiseTextureAtlas.prototype,"_techniques",null);c.NoiseTextureAtlas=f.__decorate([n.subclass("esri.views.3d.environment.NoiseTextureAtlas")],c.NoiseTextureAtlas);Object.defineProperty(c, |
|
Symbol.toStringTag,{value:"Module"})}); |