Closed avirshup closed 7 years ago
Firefox 52.0 (on a mac) fails after clicking "Load molecule". Logs below:
No viewer version specified, will implicitly use @build_version@ firefly.min.js:21:15435 THREE.WebGLRenderer 71 three.min.js:2:178 ID buffer requested, but MRT is not supported. Some features will not work. firefly.min.js:1:24454 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: precision highp float; 2: precision highp int; 3: 4: #define VERTEX_TEXTURES 5: 6: 7: #define GAMMA_FACTOR 1 8: 9: 10: #define MAX_DIR_LIGHTS 0 11: #define MAX_POINT_LIGHTS 0 12: #define MAX_SPOT_LIGHTS 0 13: #define MAX_HEMI_LIGHTS 0 14: #define MAX_BONES undefined 15: #define NUM_CUTPLANES 0 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: uniform mat4 modelMatrix; 41: uniform mat4 modelViewMatrix; 42: uniform mat4 projectionMatrix; 43: uniform mat4 viewMatrix; 44: uniform mat3 normalMatrix; 45: uniform vec3 cameraPosition; 46: attribute vec3 position; 47: #ifdef UNPACK_NORMALS 48: attribute vec2 normal; 49: #else 50: attribute vec3 normal; 51: #endif 52: attribute vec2 uv; 53: attribute vec2 uv2; 54: #ifdef PRISMWOOD 55: attribute vec3 uvw; 56: #endif 57: #ifdef USE_COLOR 58: attribute vec3 color; 59: #endif 60: varying vec2 vUv; 61: 62: void main() { 63: 64: vUv = uv; 65: gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 66: 67: } 68: firefly.min.js:1:24472 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: 2: 3: 4: #define HAVE_TEXTURE_LOD 5: 6: #define MAX_DIR_LIGHTS 0 7: #define MAX_POINT_LIGHTS 0 8: #define MAX_SPOT_LIGHTS 0 9: #define MAX_HEMI_LIGHTS 0 10: #define NUM_CUTPLANES 0 11: 12: 13: 14: #define GAMMA_FACTOR 1 15: 16: 17: 18: #define TONEMAP_OUTPUT 0 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: #define GET_MAP(UV) (texture2D(map, (UV))) 48: #define GET_BUMPMAP(UV) (texture2D(bumpMap, (UV))) 49: #define GET_NORMALMAP(UV) (texture2D(normalMap, (UV))) 50: #define GET_SPECULARMAP(UV) (texture2D(specularMap, (UV))) 51: #define GET_ALPHAMAP(UV) (texture2D(alphaMap, (UV))) 52: #ifdef USE_ENVMAP 53: #ifdef HAVE_TEXTURE_LOD 54: #extension GL_EXT_shader_texture_lod : enable 55: #endif 56: #endif 57: #extension GL_OES_standard_derivatives : enable 58: precision highp float; 59: precision highp int; 60: uniform highp mat4 viewMatrix; 61: uniform highp mat4 projectionMatrix; 62: uniform highp vec3 cameraPosition; 63: #ifdef USE_ENVMAP 64: uniform mat4 viewMatrixInverse; 65: #endif 66: uniform sampler2D tDiffuse; 67: uniform sampler2D tAO; 68: uniform int useAO; 69: uniform sampler2D tOverlay; 70: uniform int useOverlay; 71: uniform vec2 resolution; 72: 73: 74: uniform int objID; 75: uniform vec3 objIDv3; 76: uniform sampler2D tID; 77: uniform float highlightIntensity; 78: 79: uniform int highlightRange; 80: uniform int objIDStart; 81: uniform int objIDEnd; 82: 83: varying vec2 vUv; 84: 85: 86: float luminance_post(vec3 rgb) { 87: return dot(rgb, vec3(0.299, 0.587, 0.114)); 88: } 89: float luminance_pre(vec3 rgb) { 90: return dot(rgb, vec3(0.212671, 0.715160, 0.072169)); 91: } 92: vec3 xyz2rgb(vec3 xyz) { 93: vec3 R = vec3( 3.240479, -1.537150, -0.498535); 94: vec3 G = vec3(-0.969256, 1.875992, 0.041556); 95: vec3 B = vec3( 0.055648, -0.204043, 1.057311); 96: vec3 rgb; 97: rgb.b = dot(xyz, B); 98: rgb.g = dot(xyz, G); 99: rgb.r = dot(xyz, R); 100: return rgb; 101: } 102: vec3 rgb2xyz(vec3 rgb) { 103: vec3 X = vec3(0.412453, 0.35758, 0.180423); 104: vec3 Y = vec3(0.212671, 0.71516, 0.0721688); 105: vec3 Z = vec3(0.0193338, 0.119194, 0.950227); 106: vec3 xyz; 107: xyz.x = dot(rgb, X); 108: xyz.y = dot(rgb, Y); 109: xyz.z = dot(rgb, Z); 110: return xyz; 111: } 112: vec3 xyz2xyY(vec3 xyz) { 113: float sum = xyz.x + xyz.y + xyz.z; 114: sum = 1.0 / sum; 115: vec3 xyY; 116: xyY.z = xyz.y; 117: xyY.x = xyz.x * sum; 118: xyY.y = xyz.y * sum; 119: return xyY; 120: } 121: vec3 xyY2xyz(vec3 xyY) { 122: float x = xyY.x; 123: float y = xyY.y; 124: float Y = xyY.z; 125: vec3 xyz; 126: xyz.y = Y; 127: xyz.x = x * (Y / y); 128: xyz.z = (1.0 - x - y) * (Y / y); 129: return xyz; 130: } 131: float toneMapCanon_T(float x) 132: { 133: float xpow = pow(x, 1.60525727); 134: float tmp = ((1.05542877*4.68037409)*xpow) / (4.68037409*xpow + 1.0); 135: return clamp(tmp, 0.0, 1.0); 136: } 137: const float Shift = 1.0 / 0.18; 138: float toneMapCanonFilmic_NoGamma(float x) { 139: x *= Shift; 140: const float A = 0.2; 141: const float B = 0.34; 142: const float C = 0.002; 143: const float D = 1.68; 144: const float E = 0.0005; 145: const float F = 0.252; 146: const float scale = 1.0/0.833837; 147: return (((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F) * scale; 148: } 149: vec3 toneMapCanonFilmic_WithGamma(vec3 x) { 150: x *= Shift; 151: const float A = 0.27; 152: const float B = 0.29; 153: const float C = 0.052; 154: const float D = 0.2; 155: const float F = 0.18; 156: const float scale = 1.0/0.897105; 157: return (((x*(A*x+C*B))/(x*(A*x+B)+D*F))) * scale; 158: } 159: vec3 toneMapCanonOGS_WithGamma_WithColorPerserving(vec3 x) { 160: vec3 outColor = x.rgb; 161: outColor = min(outColor, vec3(3.0)); 162: float inLum = luminance_pre(outColor); 163: if (inLum > 0.0) { 164: float outLum = toneMapCanon_T(inLum); 165: outColor = outColor * (outLum / inLum); 166: outColor = clamp(outColor, vec3(0.0), vec3(1.0)); 167: } 168: float gamma = 1.0/2.2; 169: outColor = pow(outColor, vec3(gamma)); 170: return outColor; 171: } 172: 173: 174: 175: 176: 177: vec4 overlayEdgeDetect(vec2 vUv) { 178: #define IS_SELECTION(C) ( (C).b > (C).r && (C).b > (C).g ) 179: #define CHECK_EDGE_ALPHA(I, J) { vec4 c = texture2D( tOverlay, vUv+resolution*vec2((I),(J)) ); maxAlpha = max(maxAlpha, c.a); if (c.a > 0.0 && IS_SELECTION(c)) { hasEdge++; selectionPixel = c; } } 180: #define CHECK_EDGE_SELECTION(I, J) { vec4 c = texture2D( tOverlay, vUv+resolution*vec2((I),(J)) ); maxAlpha = max(maxAlpha, c.a); if (c.a <= 0.0) hasEdge++; } 181: 182: int hasEdge = 0; 183: vec4 center = texture2D(tOverlay, vUv); 184: vec4 selectionPixel = vec4(0.0); 185: float maxAlpha = 0.0; 186: bool paintOutline = false; 187: 188: if (center.a <= 0.0) { 189: CHECK_EDGE_ALPHA(-1.0,-1.0); 190: CHECK_EDGE_ALPHA( 0.0,-1.0); 191: CHECK_EDGE_ALPHA( 1.0,-1.0); 192: CHECK_EDGE_ALPHA(-1.0, 0.0); 193: CHECK_EDGE_ALPHA( 1.0, 0.0); 194: CHECK_EDGE_ALPHA(-1.0, 1.0); 195: CHECK_EDGE_ALPHA( 0.0, 1.0); 196: CHECK_EDGE_ALPHA( 1.0, 1.0); 197: if (hasEdge != 0) { 198: center = selectionPixel; 199: paintOutline = true; 200: } 201: } 202: else if (center.a > 0.0 && IS_SELECTION(center)) { 203: CHECK_EDGE_SELECTION(-1.0,-1.0); 204: CHECK_EDGE_SELECTION( 0.0,-1.0); 205: CHECK_EDGE_SELECTION( 1.0,-1.0); 206: CHECK_EDGE_SELECTION(-1.0, 0.0); 207: CHECK_EDGE_SELECTION( 1.0, 0.0); 208: CHECK_EDGE_SELECTION(-1.0, 1.0); 209: CHECK_EDGE_SELECTION( 0.0, 1.0); 210: CHECK_EDGE_SELECTION( 1.0, 1.0); 211: if (hasEdge != 0) 212: paintOutline = true; 213: else 214: center.a = -center.a; 215: } 216: 217: 218: if (paintOutline) { 219: float maxComponent = max(center.r, max(center.g, center.b)); 220: center.rgb /= maxComponent; 221: center.rgb = sqrt(center.rgb); 222: center.a = 0.5 + 0.5 * maxAlpha * 0.125 * float(hasEdge); 223: } 224: 225: return center; 226: } 227: 228: vec4 sampleColor() { 229: return texture2D( tDiffuse, vUv ); 230: } 231: 232: float sampleAO() { 233: 234: return (useAO != 0) ? sqrt(texture2D(tAO, vUv).r) : 1.0; 235: } 236: 237: void main() { 238: 239: vec4 texel = sampleColor(); 240: 241: 242: 243: 244: 245: texel.rgb *= sampleAO(); 246: 247: 248: if (useOverlay != 0) { 249: vec4 overlay = overlayEdgeDetect(vUv); 250: 251: if (overlay.a < 0.0) { 252: overlay.a = -overlay.a; 253: 254: if (overlay.a >= 0.99) { 255: 256: 257: overlay.a = 0.75; 258: texel.rgb = vec3(luminance_post(texel.rgb)); 259: } 260: } 261: 262: texel.rgb = mix(texel.rgb, sqrt(overlay.rgb), overlay.a); 263: } 264: 265: if (highlightRange == 0) { 266: if (objID != 0) { 267: 268: vec4 idAtPixel = texture2D(tID, vUv); 269: 270: vec3 idDelta = abs(idAtPixel.rgb - objIDv3.rgb); 271: if (max(max(idDelta.r, idDelta.g), idDelta.b) < 1e-3) { 272: #ifdef IS_2D 273: texel.rgb = mix(texel.rgb, vec3(1.0,1.0,0.0), highlightIntensity * 0.25); 274: #else 275: texel.rgb += highlightIntensity * 0.2; 276: #endif 277: } 278: 279: } 280: } else { 281: vec4 idAtPixel = texture2D(tID, vUv); 282: int dbId = int(idAtPixel.r * 255.0 + idAtPixel.g * 255.0 * 256.0 + idAtPixel.b * 255.0 * 256.0 * 256.0); 283: if (dbId >= objIDStart && dbId <= objIDEnd) { 284: #ifdef IS_2D 285: texel.rgb = mix(texel.rgb, vec3(1.0,1.0,0.0), highlightIntensity * 0.25); 286: #else 287: texel.rgb += highlightIntensity * 0.2; 288: #endif 289: } 290: } 291: 292: gl_FragColor = texel; 293: } 294: firefly.min.js:1:24472 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: precision highp float; 2: precision highp int; 3: 4: #define VERTEX_TEXTURES 5: 6: 7: #define GAMMA_FACTOR 1 8: 9: 10: #define MAX_DIR_LIGHTS 0 11: #define MAX_POINT_LIGHTS 0 12: #define MAX_SPOT_LIGHTS 0 13: #define MAX_HEMI_LIGHTS 0 14: #define MAX_BONES undefined 15: #define NUM_CUTPLANES 0 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: uniform mat4 modelMatrix; 41: uniform mat4 modelViewMatrix; 42: uniform mat4 projectionMatrix; 43: uniform mat4 viewMatrix; 44: uniform mat3 normalMatrix; 45: uniform vec3 cameraPosition; 46: attribute vec3 position; 47: #ifdef UNPACK_NORMALS 48: attribute vec2 normal; 49: #else 50: attribute vec3 normal; 51: #endif 52: attribute vec2 uv; 53: attribute vec2 uv2; 54: #ifdef PRISMWOOD 55: attribute vec3 uvw; 56: #endif 57: #ifdef USE_COLOR 58: attribute vec3 color; 59: #endif 60: uniform vec2 uResolution; 61: varying vec2 vPos; 62: varying vec4 vPosPos; 63: void main() { 64: vPos = uv; 65: vPosPos.xy = uv + vec2(-0.5, -0.5) * uResolution; 66: vPosPos.zw = uv + vec2( 0.5, 0.5) * uResolution; 67: gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 68: } 69: firefly.min.js:1:24472 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: 2: 3: 4: #define HAVE_TEXTURE_LOD 5: 6: #define MAX_DIR_LIGHTS 0 7: #define MAX_POINT_LIGHTS 0 8: #define MAX_SPOT_LIGHTS 0 9: #define MAX_HEMI_LIGHTS 0 10: #define NUM_CUTPLANES 0 11: 12: 13: 14: #define GAMMA_FACTOR 1 15: 16: 17: 18: #define TONEMAP_OUTPUT 0 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: #define GET_MAP(UV) (texture2D(map, (UV))) 48: #define GET_BUMPMAP(UV) (texture2D(bumpMap, (UV))) 49: #define GET_NORMALMAP(UV) (texture2D(normalMap, (UV))) 50: #define GET_SPECULARMAP(UV) (texture2D(specularMap, (UV))) 51: #define GET_ALPHAMAP(UV) (texture2D(alphaMap, (UV))) 52: #ifdef USE_ENVMAP 53: #ifdef HAVE_TEXTURE_LOD 54: #extension GL_EXT_shader_texture_lod : enable 55: #endif 56: #endif 57: #extension GL_OES_standard_derivatives : enable 58: precision highp float; 59: precision highp int; 60: uniform highp mat4 viewMatrix; 61: uniform highp mat4 projectionMatrix; 62: uniform highp vec3 cameraPosition; 63: #ifdef USE_ENVMAP 64: uniform mat4 viewMatrixInverse; 65: #endif 66: #define FXAA_EDGE_SHARPNESS (8.0) 67: #define FXAA_EDGE_THRESHOLD (0.125) 68: #define FXAA_EDGE_THRESHOLD_MIN (0.05) 69: #define FXAA_RCP_FRAME_OPT (0.50) 70: #define FXAA_RCP_FRAME_OPT2 (2.0) 71: uniform sampler2D tDiffuse; 72: uniform highp vec2 uResolution; 73: varying vec2 vPos; 74: varying vec4 vPosPos; 75: float FxaaLuma(vec3 rgb) { 76: return dot(rgb, vec3(0.299, 0.587, 0.114)); 77: } 78: void main() { 79: float lumaNw = FxaaLuma(texture2D(tDiffuse, vPosPos.xy).rgb); 80: float lumaSw = FxaaLuma(texture2D(tDiffuse, vPosPos.xw).rgb); 81: float lumaNe = FxaaLuma(texture2D(tDiffuse, vPosPos.zy).rgb) + 1.0/384.0; 82: float lumaSe = FxaaLuma(texture2D(tDiffuse, vPosPos.zw).rgb); 83: vec3 rgbM = texture2D(tDiffuse, vPos.xy).rgb; 84: float lumaM = FxaaLuma(rgbM.rgb); 85: float lumaMax = max(max(lumaNe, lumaSe), max(lumaNw, lumaSw)); 86: float lumaMin = min(min(lumaNe, lumaSe), min(lumaNw, lumaSw)); 87: float lumaMaxSubMinM = max(lumaMax, lumaM) - min(lumaMin, lumaM); 88: float lumaMaxScaledClamped = max(FXAA_EDGE_THRESHOLD_MIN, lumaMax * FXAA_EDGE_THRESHOLD); 89: if (lumaMaxSubMinM < lumaMaxScaledClamped) { 90: gl_FragColor = vec4(rgbM, 1.0); 91: return; 92: } 93: float dirSwMinusNe = lumaSw - lumaNe; 94: float dirSeMinusNw = lumaSe - lumaNw; 95: vec2 dir1 = normalize(vec2(dirSwMinusNe + dirSeMinusNw, dirSwMinusNe - dirSeMinusNw)); 96: vec3 rgbN1 = texture2D(tDiffuse, vPos.xy - dir1 * FXAA_RCP_FRAME_OPT*uResolution).rgb; 97: vec3 rgbP1 = texture2D(tDiffuse, vPos.xy + dir1 * FXAA_RCP_FRAME_OPT*uResolution).rgb; 98: float dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * FXAA_EDGE_SHARPNESS; 99: vec2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); 100: vec3 rgbN2 = texture2D(tDiffuse, vPos.xy - dir2 * FXAA_RCP_FRAME_OPT2*uResolution).rgb; 101: vec3 rgbP2 = texture2D(tDiffuse, vPos.xy + dir2 * FXAA_RCP_FRAME_OPT2*uResolution).rgb; 102: vec3 rgbA = rgbN1 + rgbP1; 103: vec3 rgbB = ((rgbN2 + rgbP2) * 0.25) + (rgbA * 0.25); 104: float lumaB = FxaaLuma(rgbB); 105: if ((lumaB < lumaMin) || (lumaB > lumaMax)) 106: gl_FragColor = vec4(rgbA * 0.5, 1.0); 107: else 108: gl_FragColor = vec4(rgbB, 1.0); 109: } 110: firefly.min.js:1:24472 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: precision highp float; 2: precision highp int; 3: 4: #define VERTEX_TEXTURES 5: 6: 7: #define GAMMA_FACTOR 1 8: 9: 10: #define MAX_DIR_LIGHTS 1 11: #define MAX_POINT_LIGHTS 0 12: #define MAX_SPOT_LIGHTS 0 13: #define MAX_HEMI_LIGHTS 0 14: #define MAX_BONES undefined 15: #define NUM_CUTPLANES 0 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: uniform mat4 modelMatrix; 41: uniform mat4 modelViewMatrix; 42: uniform mat4 projectionMatrix; 43: uniform mat4 viewMatrix; 44: uniform mat3 normalMatrix; 45: uniform vec3 cameraPosition; 46: attribute vec3 position; 47: #ifdef UNPACK_NORMALS 48: attribute vec2 normal; 49: #else 50: attribute vec3 normal; 51: #endif 52: attribute vec2 uv; 53: attribute vec2 uv2; 54: #ifdef PRISMWOOD 55: attribute vec3 uvw; 56: #endif 57: #ifdef USE_COLOR 58: attribute vec3 color; 59: #endif 60: uniform vec2 uResolution; 61: varying vec2 vPos; 62: varying vec4 vPosPos; 63: void main() { 64: vPos = uv; 65: vPosPos.xy = uv + vec2(-0.5, -0.5) * uResolution; 66: vPosPos.zw = uv + vec2( 0.5, 0.5) * uResolution; 67: gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 68: } 69: firefly.min.js:1:24472 THREE.WebGLShader: gl.getShaderInfoLog() WARNING: 0:1: extension 'GL_ARB_gpu_shader5' is not supported firefly.min.js:1:24454 1: 2: 3: 4: #define HAVE_TEXTURE_LOD 5: 6: #define MAX_DIR_LIGHTS 1 7: #define MAX_POINT_LIGHTS 0 8: #define MAX_SPOT_LIGHTS 0 9: #define MAX_HEMI_LIGHTS 0 10: #define NUM_CUTPLANES 0 11: 12: 13: 14: #define GAMMA_FACTOR 1 15: 16: 17: 18: #define TONEMAP_OUTPUT 0 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: #define GET_MAP(UV) (texture2D(map, (UV))) 48: #define GET_BUMPMAP(UV) (texture2D(bumpMap, (UV))) 49: #define GET_NORMALMAP(UV) (texture2D(normalMap, (UV))) 50: #define GET_SPECULARMAP(UV) (texture2D(specularMap, (UV))) 51: #define GET_ALPHAMAP(UV) (texture2D(alphaMap, (UV))) 52: #ifdef USE_ENVMAP 53: #ifdef HAVE_TEXTURE_LOD 54: #extension GL_EXT_shader_texture_lod : enable 55: #endif 56: #endif 57: #extension GL_OES_standard_derivatives : enable 58: precision highp float; 59: precision highp int; 60: uniform highp mat4 viewMatrix; 61: uniform highp mat4 projectionMatrix; 62: uniform highp vec3 cameraPosition; 63: #ifdef USE_ENVMAP 64: uniform mat4 viewMatrixInverse; 65: #endif 66: #define FXAA_EDGE_SHARPNESS (8.0) 67: #define FXAA_EDGE_THRESHOLD (0.125) 68: #define FXAA_EDGE_THRESHOLD_MIN (0.05) 69: #define FXAA_RCP_FRAME_OPT (0.50) 70: #define FXAA_RCP_FRAME_OPT2 (2.0) 71: uniform sampler2D tDiffuse; 72: uniform highp vec2 uResolution; 73: varying vec2 vPos; 74: varying vec4 vPosPos; 75: float FxaaLuma(vec3 rgb) { 76: return dot(rgb, vec3(0.299, 0.587, 0.114)); 77: } 78: void main() { 79: float lumaNw = FxaaLuma(texture2D(tDiffuse, vPosPos.xy).rgb); 80: float lumaSw = FxaaLuma(texture2D(tDiffuse, vPosPos.xw).rgb); 81: float lumaNe = FxaaLuma(texture2D(tDiffuse, vPosPos.zy).rgb) + 1.0/384.0; 82: float lumaSe = FxaaLuma(texture2D(tDiffuse, vPosPos.zw).rgb); 83: vec3 rgbM = texture2D(tDiffuse, vPos.xy).rgb; 84: float lumaM = FxaaLuma(rgbM.rgb); 85: float lumaMax = max(max(lumaNe, lumaSe), max(lumaNw, lumaSw)); 86: float lumaMin = min(min(lumaNe, lumaSe), min(lumaNw, lumaSw)); 87: float lumaMaxSubMinM = max(lumaMax, lumaM) - min(lumaMin, lumaM); 88: float lumaMaxScaledClamped = max(FXAA_EDGE_THRESHOLD_MIN, lumaMax * FXAA_EDGE_THRESHOLD); 89: if (lumaMaxSubMinM < lumaMaxScaledClamped) { 90: gl_FragColor = vec4(rgbM, 1.0); 91: return; 92: } 93: float dirSwMinusNe = lumaSw - lumaNe; 94: float dirSeMinusNw = lumaSe - lumaNw; 95: vec2 dir1 = normalize(vec2(dirSwMinusNe + dirSeMinusNw, dirSwMinusNe - dirSeMinusNw)); 96: vec3 rgbN1 = texture2D(tDiffuse, vPos.xy - dir1 * FXAA_RCP_FRAME_OPT*uResolution).rgb; 97: vec3 rgbP1 = texture2D(tDiffuse, vPos.xy + dir1 * FXAA_RCP_FRAME_OPT*uResolution).rgb; 98: float dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * FXAA_EDGE_SHARPNESS; 99: vec2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); 100: vec3 rgbN2 = texture2D(tDiffuse, vPos.xy - dir2 * FXAA_RCP_FRAME_OPT2*uResolution).rgb; 101: vec3 rgbP2 = texture2D(tDiffuse, vPos.xy + dir2 * FXAA_RCP_FRAME_OPT2*uResolution).rgb; 102: vec3 rgbA = rgbN1 + rgbP1; 103: vec3 rgbB = ((rgbN2 + rgbP2) * 0.25) + (rgbA * 0.25); 104: float lumaB = FxaaLuma(rgbB); 105: if ((lumaB < lumaMin) || (lumaB > lumaMax)) 106: gl_FragColor = vec4(rgbA * 0.5, 1.0); 107: else 108: gl_FragColor = vec4(rgbB, 1.0); 109: } 110: firefly.min.js:1:24472 importing globa.js and simulation.js worker.js:6:1 importing emscripten.js worker.js:9:1 trying binaryen method: native-wasm emscripten.js:125:4 Assertion failed: on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS) emscripten.js:122:4 Assertion failed: on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS) emscripten.js:125:4 failed to compile wasm module: abort("Assertion failed: on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS)") at jsStackTrace@http://localhost:5000/lammps/emscripten.js:794:12 stackTrace@http://localhost:5000/lammps/emscripten.js:808:11 abort@http://localhost:5000/lammps/emscripten.js:8581:43 assert@http://localhost:5000/lammps/emscripten.js:332:3 getBinary@http://localhost:5000/lammps/emscripten.js:1170:4 doNativeWasm@http://localhost:5000/lammps/emscripten.js:1215:63 integrateWasmJS/Module.asm@http://localhost:5000/lammps/emscripten.js:1331:19 @http://localhost:5000/lammps/emscripten.js:8303:10 @http://localhost:5000/lammps/worker.js:10:1 If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information. emscripten.js:125:4 trying binaryen method: asmjs emscripten.js:125:4 XML Parsing Error: no root element found Location: https://ase-stg.autodesk.com/adp/v1/analytics/upload Line Number 1, Column 1: upload:1:1 binaryen method succeeded. emscripten.js:125:4 ID buffer requested, but MRT is not supported. Some features will not work. firefly.min.js:1:24454 VIEWER: Inside molview initialized viewer.js:77:2 6973 viewer.js:78:2 cPromise resolved molview.min.js:4:16850 2 ms to build arrays molview.min.js:3:7739 undefined firefly.min.js:19:21732 VIEWER: About to change representation! viewer.js:32:2 saveSession Socket-ID is 389D068E-A38B-4FF4-A648-678D07C3B83E nanocore.min.js:9:10532 GET XHR http://localhost:5000/checkS3Url/94604504d07c7ec9d9b83d7fbd3dc798 [HTTP/1.0 404 File not found 0ms] Unable to find VR supported display. firefly.min.js:1:24454 TypeError: Module.get_dir_path is not a function simulation.js:4 POST XHR http://localhost:5000/savesession/ [HTTP/1.0 501 Unsupported method ('POST') 1ms] command: timestep 0.5 worker.js:157:4 TypeError: Module.exec_cmd is not a function worker.js:158 error 501 nanocore.min.js:9:10958 There was an error saving the session: Error: Status code 501 Stack trace: Autodesk.Nano.ApiConnector.prototype.saveSession/</i.onload@http://localhost:5000/tmp/nanocore.min.js:9:10994 nanocore.min.js:9:11208 TypeError: Module.apply_nvt_settings is not a function simulation.js:27 TypeError: Module.run_simulation is not a function
Firefox 52.0 (on a mac) fails after clicking "Load molecule". Logs below: