/
webgl-debug.min.js
1 lines (1 loc) · 7.95 KB
/
webgl-debug.min.js
1
WebGLDebugUtils=function(){function r(t){if(n==null){n={};for(var i in t)typeof t[i]=="number"&&(n[t[i]]=i)}}function u(){if(n==null)throw"WebGLDebugUtils.init(ctx) not called";}function c(t){return u(),n[t]!==undefined}function t(t){u();var i=n[t];return i!==undefined?"gl."+i:"/*UNKNOWN WebGL ENUM*/ 0x"+t.toString(16)+""}function i(n,i,r,u){var f=h[n];return f!==undefined&&(f=f[i],f!==undefined&&f[r])?t(u):u===null?"null":u===undefined?"undefined":u.toString()}function l(n,t){for(var u="",f=t.length,r=0;r<f;++r)u+=(r==0?"":", ")+i(n,f,r,t[r]);return u}function f(n,t,i){n.__defineGetter__(i,function(){return t[i]});n.__defineSetter__(i,function(n){t[i]=n})}function a(n,u,e){function l(n,t){return function(){e&&e(t,arguments);var r=n[t].apply(n,arguments),i=n.getError();return i!=0&&(o[i]=!0,u(i,t,arguments)),r}}var o,h,c;r(n);u=u||function(n,r,u){for(var e="",o=u.length,f=0;f<o;++f)e+=(f==0?"":", ")+i(r,o,f,u[f]);s("WebGL error "+t(n)+" in "+r+"("+e+")")};o={};h={};for(c in n)typeof n[c]=="function"?h[c]=l(n,c):f(h,n,c);return h.getError=function(){for(var t in o)if(o.hasOwnProperty(t)&&o[t])return o[t]=!1,t;return n.NO_ERROR},h}function e(n){var u=n.getParameter(n.MAX_VERTEX_ATTRIBS),i=n.createBuffer(),r,t;for(n.bindBuffer(n.ARRAY_BUFFER,i),t=0;t<u;++t)n.disableVertexAttribArray(t),n.vertexAttribPointer(t,4,n.FLOAT,!1,0,0),n.vertexAttrib1f(t,0);for(n.deleteBuffer(i),r=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),t=0;t<r;++t)n.activeTexture(n.TEXTURE0+t),n.bindTexture(n.TEXTURE_CUBE_MAP,null),n.bindTexture(n.TEXTURE_2D,null);for(n.activeTexture(n.TEXTURE0),n.useProgram(null),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.DITHER),n.disable(n.SCISSOR_TEST),n.blendColor(0,0,0,0),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.clearColor(0,0,0,0),n.clearDepth(1),n.clearStencil(-1),n.colorMask(!0,!0,!0,!0),n.cullFace(n.BACK),n.depthFunc(n.LESS),n.depthMask(!0),n.depthRange(0,1),n.frontFace(n.CCW),n.hint(n.GENERATE_MIPMAP_HINT,n.DONT_CARE),n.lineWidth(1),n.pixelStorei(n.PACK_ALIGNMENT,4),n.pixelStorei(n.UNPACK_ALIGNMENT,4),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.UNPACK_COLORSPACE_CONVERSION_WEBGL&&n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.BROWSER_DEFAULT_WEBGL),n.polygonOffset(0,0),n.sampleCoverage(1,!1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilMask(4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.viewport(0,0,n.canvas.width,n.canvas.height),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT|n.STENCIL_BUFFER_BIT);n.getError(););}function v(n){function w(n){return typeof n=="function"?n:function(t){n.handleEvent(t)}}function g(n){var t=n.addEventListener;n.addEventListener=function(i,r){switch(i){case"webglcontextlost":b(r);break;case"webglcontextrestored":k(r);break;default:t.apply(n,arguments)}}}function nt(){for(var t=Object.keys(o),n=0;n<t.length;++n)delete o[t]}function u(){++s;i||a==s&&n.loseContext()}function tt(n,t){var r=n[t];return function(){return u(),i?void 0:r.apply(n,arguments)}}function it(){for(var n,t=0;t<l.length;++t)n=l[t],n instanceof WebGLBuffer?r.deleteBuffer(n):n instanceof WebGLFramebuffer?r.deleteFramebuffer(n):n instanceof WebGLProgram?r.deleteProgram(n):n instanceof WebGLRenderbuffer?r.deleteRenderbuffer(n):n instanceof WebGLShader?r.deleteShader(n):n instanceof WebGLTexture&&r.deleteTexture(n)}function d(n){return{statusMessage:n,preventDefault:function(){v=!0}}}function rt(n){var h,a,v,y,e,s;for(h in n)typeof n[h]=="function"?t[h]=tt(n,h):f(t,n,h);for(t.getError=function(){var n;if(u(),!i)while(n=r.getError())o[n]=!0;for(n in o)if(o[n])return delete o[n],n;return t.NO_ERROR},a=["createBuffer","createFramebuffer","createProgram","createRenderbuffer","createShader","createTexture"],e=0;e<a.length;++e)s=a[e],t[s]=function(t){return function(){if(u(),i)return null;var r=t.apply(n,arguments);return r.__webglDebugContextLostId__=c,l.push(r),r}}(n[s]);for(v=["getActiveAttrib","getActiveUniform","getBufferParameter","getContextAttributes","getAttachedShaders","getFramebufferAttachmentParameter","getParameter","getProgramParameter","getProgramInfoLog","getRenderbufferParameter","getShaderParameter","getShaderInfoLog","getShaderSource","getTexParameter","getUniform","getUniformLocation","getVertexAttrib"],e=0;e<v.length;++e)s=v[e],t[s]=function(t){return function(){return(u(),i)?null:t.apply(n,arguments)}}(t[s]);for(y=["isBuffer","isEnabled","isFramebuffer","isProgram","isRenderbuffer","isShader","isTexture"],e=0;e<y.length;++e)s=y[e],t[s]=function(t){return function(){return(u(),i)?!1:t.apply(n,arguments)}}(t[s]);return t.checkFramebufferStatus=function(r){return function(){return(u(),i)?t.FRAMEBUFFER_UNSUPPORTED:r.apply(n,arguments)}}(t.checkFramebufferStatus),t.getAttribLocation=function(t){return function(){return(u(),i)?-1:t.apply(n,arguments)}}(t.getAttribLocation),t.getVertexAttribOffset=function(t){return function(){return(u(),i)?0:t.apply(n,arguments)}}(t.getVertexAttribOffset),t.isContextLost=function(){return i},t}var r,p=[],h=[],t={},c=1,i=!1,l=[],a=0,s=0,v=!1,y=0,o={},b,k;return n.getContext=function(i){return function(){var u=i.apply(n,arguments);if(u instanceof WebGLRenderingContext){if(u!=r){if(r)throw"got different context";r=u;t=rt(r)}return t}return u}}(n.getContext),b=function(n){p.push(w(n))},k=function(n){h.push(w(n))},g(n),n.loseContext=function(){if(!i){for(i=!0,a=0,++c;r.getError(););nt();o[r.CONTEXT_LOST_WEBGL]=!0;var u=d("context lost"),t=p.slice();setTimeout(function(){for(var i=0;i<t.length;++i)t[i](u);y>=0&&setTimeout(function(){n.restoreContext()},y)},0)}},n.restoreContext=function(){i&&h.length&&setTimeout(function(){var t,u,n;if(!v)throw"can not restore. webglcontestlost listener did not call event.preventDefault";for(it(),e(r),i=!1,s=0,v=!1,t=h.slice(),u=d("context restored"),n=0;n<t.length;++n)t[n](u)},0)},n.loseContextInNCalls=function(n){if(i)throw"You can not ask a lost contet to be lost";a=s+n},n.getNumCalls=function(){return s},n.setRestoreTimeout=function(n){y=n},n}var o=function(n){window.console&&window.console.log&&window.console.log(n)},s=function(n){window.console&&window.console.error?window.console.error(n):o(n)},h={enable:{1:{0:!0}},disable:{1:{0:!0}},getParameter:{1:{0:!0}},drawArrays:{3:{0:!0}},drawElements:{4:{0:!0,2:!0}},createShader:{1:{0:!0}},getShaderParameter:{2:{1:!0}},getProgramParameter:{2:{1:!0}},getShaderPrecisionFormat:{2:{0:!0,1:!0}},getVertexAttrib:{2:{1:!0}},vertexAttribPointer:{6:{2:!0}},bindTexture:{2:{0:!0}},activeTexture:{1:{0:!0}},getTexParameter:{2:{0:!0,1:!0}},texParameterf:{3:{0:!0,1:!0}},texParameteri:{3:{0:!0,1:!0,2:!0}},texImage2D:{9:{0:!0,2:!0,6:!0,7:!0},6:{0:!0,2:!0,3:!0,4:!0}},texSubImage2D:{9:{0:!0,6:!0,7:!0},7:{0:!0,4:!0,5:!0}},copyTexImage2D:{8:{0:!0,2:!0}},copyTexSubImage2D:{8:{0:!0}},generateMipmap:{1:{0:!0}},compressedTexImage2D:{7:{0:!0,2:!0}},compressedTexSubImage2D:{8:{0:!0,6:!0}},bindBuffer:{2:{0:!0}},bufferData:{3:{0:!0,2:!0}},bufferSubData:{3:{0:!0}},getBufferParameter:{2:{0:!0,1:!0}},pixelStorei:{2:{0:!0,1:!0}},readPixels:{7:{4:!0,5:!0}},bindRenderbuffer:{2:{0:!0}},bindFramebuffer:{2:{0:!0}},checkFramebufferStatus:{1:{0:!0}},framebufferRenderbuffer:{4:{0:!0,1:!0,2:!0}},framebufferTexture2D:{5:{0:!0,1:!0,2:!0}},getFramebufferAttachmentParameter:{3:{0:!0,1:!0,2:!0}},getRenderbufferParameter:{2:{0:!0,1:!0}},renderbufferStorage:{4:{0:!0,1:!0}},clear:{1:{0:!0}},depthFunc:{1:{0:!0}},blendFunc:{2:{0:!0,1:!0}},blendFuncSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},blendEquation:{1:{0:!0}},blendEquationSeparate:{2:{0:!0,1:!0}},stencilFunc:{3:{0:!0}},stencilFuncSeparate:{4:{0:!0,1:!0}},stencilMaskSeparate:{2:{0:!0}},stencilOp:{3:{0:!0,1:!0,2:!0}},stencilOpSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},cullFace:{1:{0:!0}},frontFace:{1:{0:!0}}},n=null;return{init:r,mightBeEnum:c,glEnumToString:t,glFunctionArgToString:i,glFunctionArgsToString:l,makeDebugContext:a,makeLostContextSimulatingCanvas:v,resetToInitialState:e}}()