Custom Gis Application with Arcgis Javascript API with modern layouting
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.
 
 

8 lines
2.5 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 ../../core/has ../3d/webgl-engine/core/shaderModules/interfaces ./AppleAmdDriverHelper ./BufferObject ./enums ./FramebufferObject ./TextureDescriptor ./WebGLDriverTestModule".split(" "),function(e,f,g,k,l,c,m,n,p){class q extends p.WebGLDriverTestModule{constructor(b){super();this._rctx=b;this._helperProgram=null;f("mac")&&f("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}dispose(){super.dispose();this._helperProgram?.dispose();this._helperProgram=
null}_test(b){const a=this._rctx,r=a.getBoundFramebufferObject(),{x:t,y:u,width:v,height:w}=a.getViewport();a.resetState();var d=new n.TextureDescriptor(1);d.wrapMode=c.TextureWrapMode.CLAMP_TO_EDGE;d.samplingMode=c.TextureSamplingMode.NEAREST;d=new m.FramebufferObject(a,d);const h=l.BufferObject.createIndex(this._rctx,c.Usage.STATIC_DRAW,new Uint8Array([0]));a.bindFramebuffer(d);a.setViewport(0,0,1,1);a.useProgram(this._helperProgram);a.bindBuffer(h,c.BufferType.ELEMENT_ARRAY_BUFFER);a.drawElements(c.PrimitiveType.POINTS,
1,c.DataType.UNSIGNED_BYTE,0);a.useProgram(b);a.bindVAO(null);a.drawArrays(c.PrimitiveType.TRIANGLES,0,258);b=new Uint8Array(4);d.readPixels(0,0,1,1,c.PixelFormat.RGBA,c.PixelType.UNSIGNED_BYTE,b);a.setViewport(t,u,v,w);a.bindFramebuffer(r);d.dispose();h.dispose();return 255===b[0]}_prepareProgram(){const b=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${g.glsl.float(85)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,
a=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${g.glsl.float(85)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.acquire(b,a,new Map([]))}_prepareHelperProgram(){const b=k.AppleAmdDriverHelper.getShaderSources();return this._rctx.programCache.acquire(b.vertex,b.fragment,new Map([]))}}e.DrawArraysRequiresIndicesTypeReset=q;Object.defineProperty(e,
Symbol.toStringTag,{value:"Module"})});