Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TypeError: this.sink is null[Learn More] network-monitor.js:527:5
- THREE.WebGLRenderer 89 three.js:21220
- THREE.WebGLShader: gl.getShaderInfoLog() vertex 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in vertex shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define VERTEX_TEXTURES
- 6: #define GAMMA_FACTOR 2
- 7: #define MAX_BONES 0
- 8: #define BONE_TEXTURE
- 9: #define NUM_CLIPPING_PLANES 0
- 10: uniform mat4 modelMatrix;
- 11: uniform mat4 modelViewMatrix;
- 12: uniform mat4 projectionMatrix;
- 13: uniform mat4 viewMatrix;
- 14: uniform mat3 normalMatrix;
- 15: uniform vec3 cameraPosition;
- 16: attribute vec3 position;
- 17: attribute vec3 normal;
- 18: attribute vec2 uv;
- 19: #ifdef USE_COLOR
- 20: attribute vec3 color;
- 21: #endif
- 22: #ifdef USE_MORPHTARGETS
- 23: attribute vec3 morphTarget0;
- 24: attribute vec3 morphTarget1;
- 25: attribute vec3 morphTarget2;
- 26: attribute vec3 morphTarget3;
- 27: #ifdef USE_MORPHNORMALS
- 28: attribute vec3 morphNormal0;
- 29: attribute vec3 morphNormal1;
- 30: attribute vec3 morphNormal2;
- 31: attribute vec3 morphNormal3;
- 32: #else
- 33: attribute vec3 morphTarget4;
- 34: attribute vec3 morphTarget5;
- 35: attribute vec3 morphTarget6;
- 36: attribute vec3 morphTarget7;
- 37: #endif
- 38: #endif
- 39: #ifdef USE_SKINNING
- 40: attribute vec4 skinIndex;
- 41: attribute vec4 skinWeight;
- 42: #endif
- 43:
- 44: void main() {
- 45:
- 46: gl_Position = vec4( position, 1.0 );
- 47:
- 48: }
- 49: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() fragment 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define GAMMA_FACTOR 2
- 6: #define NUM_CLIPPING_PLANES 0
- 7: #define UNION_CLIPPING_PLANES 0
- 8: uniform mat4 viewMatrix;
- 9: uniform vec3 cameraPosition;
- 10: #define TONE_MAPPING
- 11: #ifndef saturate
- 12: #define saturate(a) clamp( a, 0.0, 1.0 )
- 13: #endif
- 14: uniform float toneMappingExposure;
- 15: uniform float toneMappingWhitePoint;
- 16: vec3 LinearToneMapping( vec3 color ) {
- 17: return toneMappingExposure * color;
- 18: }
- 19: vec3 ReinhardToneMapping( vec3 color ) {
- 20: color *= toneMappingExposure;
- 21: return saturate( color / ( vec3( 1.0 ) + color ) );
- 22: }
- 23: #define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )
- 24: vec3 Uncharted2ToneMapping( vec3 color ) {
- 25: color *= toneMappingExposure;
- 26: return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );
- 27: }
- 28: vec3 OptimizedCineonToneMapping( vec3 color ) {
- 29: color *= toneMappingExposure;
- 30: color = max( vec3( 0.0 ), color - 0.004 );
- 31: return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
- 32: }
- 33:
- 34: vec3 toneMapping( vec3 color ) { return LinearToneMapping( color ); }
- 35:
- 36: vec4 LinearToLinear( in vec4 value ) {
- 37: return value;
- 38: }
- 39: vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
- 40: return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );
- 41: }
- 42: vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
- 43: return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );
- 44: }
- 45: vec4 sRGBToLinear( in vec4 value ) {
- 46: return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );
- 47: }
- 48: vec4 LinearTosRGB( in vec4 value ) {
- 49: return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );
- 50: }
- 51: vec4 RGBEToLinear( in vec4 value ) {
- 52: return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
- 53: }
- 54: vec4 LinearToRGBE( in vec4 value ) {
- 55: float maxComponent = max( max( value.r, value.g ), value.b );
- 56: float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
- 57: return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
- 58: }
- 59: vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
- 60: return vec4( value.xyz * value.w * maxRange, 1.0 );
- 61: }
- 62: vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
- 63: float maxRGB = max( value.x, max( value.g, value.b ) );
- 64: float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
- 65: M = ceil( M * 255.0 ) / 255.0;
- 66: return vec4( value.rgb / ( M * maxRange ), M );
- 67: }
- 68: vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
- 69: return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
- 70: }
- 71: vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
- 72: float maxRGB = max( value.x, max( value.g, value.b ) );
- 73: float D = max( maxRange / maxRGB, 1.0 );
- 74: D = min( floor( D ) / 255.0, 1.0 );
- 75: return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
- 76: }
- 77: const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
- 78: vec4 LinearToLogLuv( in vec4 value ) {
- 79: vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;
- 80: Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));
- 81: vec4 vResult;
- 82: vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
- 83: float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
- 84: vResult.w = fract(Le);
- 85: vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;
- 86: return vResult;
- 87: }
- 88: const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
- 89: vec4 LogLuvToLinear( in vec4 value ) {
- 90: float Le = value.z * 255.0 + value.w;
- 91: vec3 Xp_Y_XYZp;
- 92: Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);
- 93: Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
- 94: Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
- 95: vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;
- 96: return vec4( max(vRGB, 0.0), 1.0 );
- 97: }
- 98:
- 99: vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 100: vec4 envMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 101: vec4 emissiveMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 102: vec4 linearToOutputTexel( vec4 value ) { return LinearToLinear( value ); }
- 103:
- 104: uniform sampler2D texture;
- 105:
- 106: void main() {
- 107:
- 108: vec2 uv = gl_FragCoord.xy / resolution.xy;
- 109:
- 110: gl_FragColor = texture2D( texture, uv );
- 111:
- 112: }
- 113: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() vertex 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in vertex shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define BOUNDS 800.00
- 6: #define VERTEX_TEXTURES
- 7: #define GAMMA_FACTOR 2
- 8: #define MAX_BONES 0
- 9: #define BONE_TEXTURE
- 10: #define NUM_CLIPPING_PLANES 0
- 11: uniform mat4 modelMatrix;
- 12: uniform mat4 modelViewMatrix;
- 13: uniform mat4 projectionMatrix;
- 14: uniform mat4 viewMatrix;
- 15: uniform mat3 normalMatrix;
- 16: uniform vec3 cameraPosition;
- 17: attribute vec3 position;
- 18: attribute vec3 normal;
- 19: attribute vec2 uv;
- 20: #ifdef USE_COLOR
- 21: attribute vec3 color;
- 22: #endif
- 23: #ifdef USE_MORPHTARGETS
- 24: attribute vec3 morphTarget0;
- 25: attribute vec3 morphTarget1;
- 26: attribute vec3 morphTarget2;
- 27: attribute vec3 morphTarget3;
- 28: #ifdef USE_MORPHNORMALS
- 29: attribute vec3 morphNormal0;
- 30: attribute vec3 morphNormal1;
- 31: attribute vec3 morphNormal2;
- 32: attribute vec3 morphNormal3;
- 33: #else
- 34: attribute vec3 morphTarget4;
- 35: attribute vec3 morphTarget5;
- 36: attribute vec3 morphTarget6;
- 37: attribute vec3 morphTarget7;
- 38: #endif
- 39: #endif
- 40: #ifdef USE_SKINNING
- 41: attribute vec4 skinIndex;
- 42: attribute vec4 skinWeight;
- 43: #endif
- 44:
- 45: void main() {
- 46:
- 47: gl_Position = vec4( position, 1.0 );
- 48:
- 49: }
- 50: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() fragment 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define BOUNDS 800.00
- 6: #define GAMMA_FACTOR 2
- 7: #define NUM_CLIPPING_PLANES 0
- 8: #define UNION_CLIPPING_PLANES 0
- 9: uniform mat4 viewMatrix;
- 10: uniform vec3 cameraPosition;
- 11: #define TONE_MAPPING
- 12: #ifndef saturate
- 13: #define saturate(a) clamp( a, 0.0, 1.0 )
- 14: #endif
- 15: uniform float toneMappingExposure;
- 16: uniform float toneMappingWhitePoint;
- 17: vec3 LinearToneMapping( vec3 color ) {
- 18: return toneMappingExposure * color;
- 19: }
- 20: vec3 ReinhardToneMapping( vec3 color ) {
- 21: color *= toneMappingExposure;
- 22: return saturate( color / ( vec3( 1.0 ) + color ) );
- 23: }
- 24: #define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )
- 25: vec3 Uncharted2ToneMapping( vec3 color ) {
- 26: color *= toneMappingExposure;
- 27: return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );
- 28: }
- 29: vec3 OptimizedCineonToneMapping( vec3 color ) {
- 30: color *= toneMappingExposure;
- 31: color = max( vec3( 0.0 ), color - 0.004 );
- 32: return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
- 33: }
- 34:
- 35: vec3 toneMapping( vec3 color ) { return LinearToneMapping( color ); }
- 36:
- 37: vec4 LinearToLinear( in vec4 value ) {
- 38: return value;
- 39: }
- 40: vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
- 41: return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );
- 42: }
- 43: vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
- 44: return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );
- 45: }
- 46: vec4 sRGBToLinear( in vec4 value ) {
- 47: return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );
- 48: }
- 49: vec4 LinearTosRGB( in vec4 value ) {
- 50: return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );
- 51: }
- 52: vec4 RGBEToLinear( in vec4 value ) {
- 53: return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
- 54: }
- 55: vec4 LinearToRGBE( in vec4 value ) {
- 56: float maxComponent = max( max( value.r, value.g ), value.b );
- 57: float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
- 58: return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
- 59: }
- 60: vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
- 61: return vec4( value.xyz * value.w * maxRange, 1.0 );
- 62: }
- 63: vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
- 64: float maxRGB = max( value.x, max( value.g, value.b ) );
- 65: float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
- 66: M = ceil( M * 255.0 ) / 255.0;
- 67: return vec4( value.rgb / ( M * maxRange ), M );
- 68: }
- 69: vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
- 70: return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
- 71: }
- 72: vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
- 73: float maxRGB = max( value.x, max( value.g, value.b ) );
- 74: float D = max( maxRange / maxRGB, 1.0 );
- 75: D = min( floor( D ) / 255.0, 1.0 );
- 76: return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
- 77: }
- 78: const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
- 79: vec4 LinearToLogLuv( in vec4 value ) {
- 80: vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;
- 81: Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));
- 82: vec4 vResult;
- 83: vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
- 84: float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
- 85: vResult.w = fract(Le);
- 86: vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;
- 87: return vResult;
- 88: }
- 89: const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
- 90: vec4 LogLuvToLinear( in vec4 value ) {
- 91: float Le = value.z * 255.0 + value.w;
- 92: vec3 Xp_Y_XYZp;
- 93: Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);
- 94: Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
- 95: Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
- 96: vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;
- 97: return vec4( max(vRGB, 0.0), 1.0 );
- 98: }
- 99:
- 100: vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 101: vec4 envMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 102: vec4 emissiveMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 103: vec4 linearToOutputTexel( vec4 value ) { return LinearToLinear( value ); }
- 104:
- 105:
- 106: uniform sampler2D textureVelocity;
- 107:
- 108: uniform sampler2D texturePosition;
- 109:
- 110:
- 111: uniform float time;
- 112: uniform float testing;
- 113: uniform float delta; // about 0.016
- 114: uniform float seperationDistance; // 20
- 115: uniform float alignmentDistance; // 40
- 116: uniform float cohesionDistance; //
- 117: uniform float freedomFactor;
- 118: uniform vec3 predator;
- 119:
- 120: const float width = resolution.x;
- 121: const float height = resolution.y;
- 122:
- 123: const float PI = 3.141592653589793;
- 124: const float PI_2 = PI * 2.0;
- 125: // const float VISION = PI * 0.55;
- 126:
- 127: float zoneRadius = 40.0;
- 128: float zoneRadiusSquared = 1600.0;
- 129:
- 130: float separationThresh = 0.45;
- 131: float alignmentThresh = 0.65;
- 132:
- 133: const float UPPER_BOUNDS = BOUNDS;
- 134: const float LOWER_BOUNDS = -UPPER_BOUNDS;
- 135:
- 136: const float SPEED_LIMIT = 9.0;
- 137:
- 138: float rand(vec2 co){
- 139: return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
- 140: }
- 141:
- 142: void main() {
- 143:
- 144: zoneRadius = seperationDistance + alignmentDistance + cohesionDistance;
- 145: separationThresh = seperationDistance / zoneRadius;
- 146: alignmentThresh = ( seperationDistance + alignmentDistance ) / zoneRadius;
- 147: zoneRadiusSquared = zoneRadius * zoneRadius;
- 148:
- 149:
- 150: vec2 uv = gl_FragCoord.xy / resolution.xy;
- 151: vec3 birdPosition, birdVelocity;
- 152:
- 153: vec3 selfPosition = texture2D( texturePosition, uv ).xyz;
- 154: vec3 selfVelocity = texture2D( textureVelocity, uv ).xyz;
- 155:
- 156: float dist;
- 157: vec3 dir; // direction
- 158: float distSquared;
- 159:
- 160: float seperationSquared = seperationDistance * seperationDistance;
- 161: float cohesionSquared = cohesionDistance * cohesionDistance;
- 162:
- 163: float f;
- 164: float percent;
- 165:
- 166: vec3 velocity = selfVelocity;
- 167:
- 168: float limit = SPEED_LIMIT;
- 169:
- 170: dir = predator * UPPER_BOUNDS - selfPosition;
- 171: dir.z = 0.;
- 172: // dir.z *= 0.6;
- 173: dist = length( dir );
- 174: distSquared = dist * dist;
- 175:
- 176: float preyRadius = 150.0;
- 177: float preyRadiusSq = preyRadius * preyRadius;
- 178:
- 179:
- 180: // move birds away from predator
- 181: if (dist < preyRadius) {
- 182:
- 183: f = ( distSquared / preyRadiusSq - 1.0 ) * delta * 100.;
- 184: velocity += normalize( dir ) * f;
- 185: limit += 5.0;
- 186: }
- 187:
- 188:
- 189: // if (testing == 0.0) {}
- 190: // if ( rand( uv + time ) < freedomFactor ) {}
- 191:
- 192:
- 193: // Attract flocks to the center
- 194: vec3 central = vec3( 0., 0., 0. );
- 195: dir = selfPosition - central;
- 196: dist = length( dir );
- 197:
- 198: dir.y *= 2.5;
- 199: velocity -= normalize( dir ) * delta * 5.;
- 200:
- 201: for (float y=0.0;y<height;y++) {
- 202: for (float x=0.0;x<width;x++) {
- 203:
- 204: vec2 ref = vec2( x + 0.5, y + 0.5 ) / resolution.xy;
- 205: birdPosition = texture2D( texturePosition, ref ).xyz;
- 206:
- 207: dir = birdPosition - selfPosition;
- 208: dist = length(dir);
- 209:
- 210: if (dist < 0.0001) continue;
- 211:
- 212: distSquared = dist * dist;
- 213:
- 214: if (distSquared > zoneRadiusSquared ) continue;
- 215:
- 216: percent = distSquared / zoneRadiusSquared;
- 217:
- 218: if ( percent < separationThresh ) { // low
- 219:
- 220: // Separation - Move apart for comfort
- 221: f = (separationThresh / percent - 1.0) * delta;
- 222: velocity -= normalize(dir) * f;
- 223:
- 224: } else if ( percent < alignmentThresh ) { // high
- 225:
- 226: // Alignment - fly the same direction
- 227: float threshDelta = alignmentThresh - separationThresh;
- 228: float adjustedPercent = ( percent - separationThresh ) / threshDelta;
- 229:
- 230: birdVelocity = texture2D( textureVelocity, ref ).xyz;
- 231:
- 232: f = ( 0.5 - cos( adjustedPercent * PI_2 ) * 0.5 + 0.5 ) * delta;
- 233: velocity += normalize(birdVelocity) * f;
- 234:
- 235: } else {
- 236:
- 237: // Attraction / Cohesion - move closer
- 238: float threshDelta = 1.0 - alignmentThresh;
- 239: float adjustedPercent = ( percent - alignmentThresh ) / threshDelta;
- 240:
- 241: f = ( 0.5 - ( cos( adjustedPercent * PI_2 ) * -0.5 + 0.5 ) ) * delta;
- 242:
- 243: velocity += normalize(dir) * f;
- 244:
- 245: }
- 246:
- 247: }
- 248:
- 249: }
- 250:
- 251:
- 252:
- 253: // this make tends to fly around than down or up
- 254: // if (velocity.y > 0.) velocity.y *= (1. - 0.2 * delta);
- 255:
- 256: // Speed Limits
- 257: if ( length( velocity ) > limit ) {
- 258: velocity = normalize( velocity ) * limit;
- 259: }
- 260:
- 261: gl_FragColor = vec4( velocity, 1.0 );
- 262:
- 263: }
- 264:
- 265: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() vertex 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in vertex shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define VERTEX_TEXTURES
- 6: #define GAMMA_FACTOR 2
- 7: #define MAX_BONES 0
- 8: #define BONE_TEXTURE
- 9: #define NUM_CLIPPING_PLANES 0
- 10: uniform mat4 modelMatrix;
- 11: uniform mat4 modelViewMatrix;
- 12: uniform mat4 projectionMatrix;
- 13: uniform mat4 viewMatrix;
- 14: uniform mat3 normalMatrix;
- 15: uniform vec3 cameraPosition;
- 16: attribute vec3 position;
- 17: attribute vec3 normal;
- 18: attribute vec2 uv;
- 19: #ifdef USE_COLOR
- 20: attribute vec3 color;
- 21: #endif
- 22: #ifdef USE_MORPHTARGETS
- 23: attribute vec3 morphTarget0;
- 24: attribute vec3 morphTarget1;
- 25: attribute vec3 morphTarget2;
- 26: attribute vec3 morphTarget3;
- 27: #ifdef USE_MORPHNORMALS
- 28: attribute vec3 morphNormal0;
- 29: attribute vec3 morphNormal1;
- 30: attribute vec3 morphNormal2;
- 31: attribute vec3 morphNormal3;
- 32: #else
- 33: attribute vec3 morphTarget4;
- 34: attribute vec3 morphTarget5;
- 35: attribute vec3 morphTarget6;
- 36: attribute vec3 morphTarget7;
- 37: #endif
- 38: #endif
- 39: #ifdef USE_SKINNING
- 40: attribute vec4 skinIndex;
- 41: attribute vec4 skinWeight;
- 42: #endif
- 43:
- 44: void main() {
- 45:
- 46: gl_Position = vec4( position, 1.0 );
- 47:
- 48: }
- 49: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() fragment 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define resolution vec2( 32.0, 32.0 )
- 5: #define GAMMA_FACTOR 2
- 6: #define NUM_CLIPPING_PLANES 0
- 7: #define UNION_CLIPPING_PLANES 0
- 8: uniform mat4 viewMatrix;
- 9: uniform vec3 cameraPosition;
- 10: #define TONE_MAPPING
- 11: #ifndef saturate
- 12: #define saturate(a) clamp( a, 0.0, 1.0 )
- 13: #endif
- 14: uniform float toneMappingExposure;
- 15: uniform float toneMappingWhitePoint;
- 16: vec3 LinearToneMapping( vec3 color ) {
- 17: return toneMappingExposure * color;
- 18: }
- 19: vec3 ReinhardToneMapping( vec3 color ) {
- 20: color *= toneMappingExposure;
- 21: return saturate( color / ( vec3( 1.0 ) + color ) );
- 22: }
- 23: #define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )
- 24: vec3 Uncharted2ToneMapping( vec3 color ) {
- 25: color *= toneMappingExposure;
- 26: return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );
- 27: }
- 28: vec3 OptimizedCineonToneMapping( vec3 color ) {
- 29: color *= toneMappingExposure;
- 30: color = max( vec3( 0.0 ), color - 0.004 );
- 31: return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
- 32: }
- 33:
- 34: vec3 toneMapping( vec3 color ) { return LinearToneMapping( color ); }
- 35:
- 36: vec4 LinearToLinear( in vec4 value ) {
- 37: return value;
- 38: }
- 39: vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
- 40: return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );
- 41: }
- 42: vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
- 43: return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );
- 44: }
- 45: vec4 sRGBToLinear( in vec4 value ) {
- 46: return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );
- 47: }
- 48: vec4 LinearTosRGB( in vec4 value ) {
- 49: return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );
- 50: }
- 51: vec4 RGBEToLinear( in vec4 value ) {
- 52: return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
- 53: }
- 54: vec4 LinearToRGBE( in vec4 value ) {
- 55: float maxComponent = max( max( value.r, value.g ), value.b );
- 56: float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
- 57: return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
- 58: }
- 59: vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
- 60: return vec4( value.xyz * value.w * maxRange, 1.0 );
- 61: }
- 62: vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
- 63: float maxRGB = max( value.x, max( value.g, value.b ) );
- 64: float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
- 65: M = ceil( M * 255.0 ) / 255.0;
- 66: return vec4( value.rgb / ( M * maxRange ), M );
- 67: }
- 68: vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
- 69: return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
- 70: }
- 71: vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
- 72: float maxRGB = max( value.x, max( value.g, value.b ) );
- 73: float D = max( maxRange / maxRGB, 1.0 );
- 74: D = min( floor( D ) / 255.0, 1.0 );
- 75: return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
- 76: }
- 77: const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
- 78: vec4 LinearToLogLuv( in vec4 value ) {
- 79: vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;
- 80: Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));
- 81: vec4 vResult;
- 82: vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
- 83: float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
- 84: vResult.w = fract(Le);
- 85: vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;
- 86: return vResult;
- 87: }
- 88: const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
- 89: vec4 LogLuvToLinear( in vec4 value ) {
- 90: float Le = value.z * 255.0 + value.w;
- 91: vec3 Xp_Y_XYZp;
- 92: Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);
- 93: Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
- 94: Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
- 95: vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;
- 96: return vec4( max(vRGB, 0.0), 1.0 );
- 97: }
- 98:
- 99: vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 100: vec4 envMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 101: vec4 emissiveMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 102: vec4 linearToOutputTexel( vec4 value ) { return LinearToLinear( value ); }
- 103:
- 104:
- 105: uniform sampler2D textureVelocity;
- 106:
- 107: uniform sampler2D texturePosition;
- 108:
- 109:
- 110: uniform float time;
- 111: uniform float delta;
- 112:
- 113: void main() {
- 114:
- 115: vec2 uv = gl_FragCoord.xy / resolution.xy;
- 116: vec4 tmpPos = texture2D( texturePosition, uv );
- 117: vec3 position = tmpPos.xyz;
- 118: vec3 velocity = texture2D( textureVelocity, uv ).xyz;
- 119:
- 120: float phase = tmpPos.w;
- 121:
- 122: phase = mod( ( phase + delta +
- 123: length( velocity.xz ) * delta * 3. +
- 124: max( velocity.y, 0.0 ) * delta * 6. ), 62.83 );
- 125:
- 126: gl_FragColor = vec4( position + velocity * delta * 15. , phase );
- 127:
- 128: }
- 129:
- 130: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() vertex 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in vertex shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define VERTEX_TEXTURES
- 5: #define GAMMA_FACTOR 2
- 6: #define MAX_BONES 0
- 7: #define BONE_TEXTURE
- 8: #define DOUBLE_SIDED
- 9: #define NUM_CLIPPING_PLANES 0
- 10: uniform mat4 modelMatrix;
- 11: uniform mat4 modelViewMatrix;
- 12: uniform mat4 projectionMatrix;
- 13: uniform mat4 viewMatrix;
- 14: uniform mat3 normalMatrix;
- 15: uniform vec3 cameraPosition;
- 16: attribute vec3 position;
- 17: attribute vec3 normal;
- 18: attribute vec2 uv;
- 19: #ifdef USE_COLOR
- 20: attribute vec3 color;
- 21: #endif
- 22: #ifdef USE_MORPHTARGETS
- 23: attribute vec3 morphTarget0;
- 24: attribute vec3 morphTarget1;
- 25: attribute vec3 morphTarget2;
- 26: attribute vec3 morphTarget3;
- 27: #ifdef USE_MORPHNORMALS
- 28: attribute vec3 morphNormal0;
- 29: attribute vec3 morphNormal1;
- 30: attribute vec3 morphNormal2;
- 31: attribute vec3 morphNormal3;
- 32: #else
- 33: attribute vec3 morphTarget4;
- 34: attribute vec3 morphTarget5;
- 35: attribute vec3 morphTarget6;
- 36: attribute vec3 morphTarget7;
- 37: #endif
- 38: #endif
- 39: #ifdef USE_SKINNING
- 40: attribute vec4 skinIndex;
- 41: attribute vec4 skinWeight;
- 42: #endif
- 43:
- 44:
- 45:
- 46: attribute vec2 reference;
- 47: attribute float birdVertex;
- 48:
- 49: attribute vec3 birdColor;
- 50:
- 51: uniform sampler2D texturePosition;
- 52: uniform sampler2D textureVelocity;
- 53:
- 54: varying vec4 vColor;
- 55: varying float z;
- 56:
- 57: uniform float time;
- 58:
- 59: void main() {
- 60:
- 61: vec4 tmpPos = texture2D( texturePosition, reference );
- 62: vec3 pos = tmpPos.xyz;
- 63: vec3 velocity = normalize(texture2D( textureVelocity, reference ).xyz);
- 64:
- 65: vec3 newPosition = position;
- 66:
- 67: if ( birdVertex == 4.0 || birdVertex == 7.0 ) {
- 68: // flap wings
- 69: newPosition.y = sin( tmpPos.w ) * 5.;
- 70: }
- 71:
- 72: newPosition = mat3( modelMatrix ) * newPosition;
- 73:
- 74:
- 75: velocity.z *= -1.;
- 76: float xz = length( velocity.xz );
- 77: float xyz = 1.;
- 78: float x = sqrt( 1. - velocity.y * velocity.y );
- 79:
- 80: float cosry = velocity.x / xz;
- 81: float sinry = velocity.z / xz;
- 82:
- 83: float cosrz = x / xyz;
- 84: float sinrz = velocity.y / xyz;
- 85:
- 86: mat3 maty = mat3(
- 87: cosry, 0, -sinry,
- 88: 0 , 1, 0 ,
- 89: sinry, 0, cosry
- 90:
- 91: );
- 92:
- 93: mat3 matz = mat3(
- 94: cosrz , sinrz, 0,
- 95: -sinrz, cosrz, 0,
- 96: 0 , 0 , 1
- 97: );
- 98:
- 99: newPosition = maty * matz * newPosition;
- 100: newPosition += pos;
- 101:
- 102: z = newPosition.z;
- 103:
- 104: vColor = vec4( birdColor, 1.0 );
- 105: gl_Position = projectionMatrix * viewMatrix * vec4( newPosition, 1.0 );
- 106: }
- 107:
- 108: three.js:17491
- THREE.WebGLShader: gl.getShaderInfoLog() fragment 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
- 1: precision highp float;
- 2: precision highp int;
- 3: #define SHADER_NAME ShaderMaterial
- 4: #define GAMMA_FACTOR 2
- 5: #define DOUBLE_SIDED
- 6: #define NUM_CLIPPING_PLANES 0
- 7: #define UNION_CLIPPING_PLANES 0
- 8: uniform mat4 viewMatrix;
- 9: uniform vec3 cameraPosition;
- 10: #define TONE_MAPPING
- 11: #ifndef saturate
- 12: #define saturate(a) clamp( a, 0.0, 1.0 )
- 13: #endif
- 14: uniform float toneMappingExposure;
- 15: uniform float toneMappingWhitePoint;
- 16: vec3 LinearToneMapping( vec3 color ) {
- 17: return toneMappingExposure * color;
- 18: }
- 19: vec3 ReinhardToneMapping( vec3 color ) {
- 20: color *= toneMappingExposure;
- 21: return saturate( color / ( vec3( 1.0 ) + color ) );
- 22: }
- 23: #define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )
- 24: vec3 Uncharted2ToneMapping( vec3 color ) {
- 25: color *= toneMappingExposure;
- 26: return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );
- 27: }
- 28: vec3 OptimizedCineonToneMapping( vec3 color ) {
- 29: color *= toneMappingExposure;
- 30: color = max( vec3( 0.0 ), color - 0.004 );
- 31: return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
- 32: }
- 33:
- 34: vec3 toneMapping( vec3 color ) { return LinearToneMapping( color ); }
- 35:
- 36: vec4 LinearToLinear( in vec4 value ) {
- 37: return value;
- 38: }
- 39: vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
- 40: return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );
- 41: }
- 42: vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
- 43: return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );
- 44: }
- 45: vec4 sRGBToLinear( in vec4 value ) {
- 46: return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );
- 47: }
- 48: vec4 LinearTosRGB( in vec4 value ) {
- 49: return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );
- 50: }
- 51: vec4 RGBEToLinear( in vec4 value ) {
- 52: return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
- 53: }
- 54: vec4 LinearToRGBE( in vec4 value ) {
- 55: float maxComponent = max( max( value.r, value.g ), value.b );
- 56: float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
- 57: return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
- 58: }
- 59: vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
- 60: return vec4( value.xyz * value.w * maxRange, 1.0 );
- 61: }
- 62: vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
- 63: float maxRGB = max( value.x, max( value.g, value.b ) );
- 64: float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
- 65: M = ceil( M * 255.0 ) / 255.0;
- 66: return vec4( value.rgb / ( M * maxRange ), M );
- 67: }
- 68: vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
- 69: return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
- 70: }
- 71: vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
- 72: float maxRGB = max( value.x, max( value.g, value.b ) );
- 73: float D = max( maxRange / maxRGB, 1.0 );
- 74: D = min( floor( D ) / 255.0, 1.0 );
- 75: return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
- 76: }
- 77: const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
- 78: vec4 LinearToLogLuv( in vec4 value ) {
- 79: vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;
- 80: Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));
- 81: vec4 vResult;
- 82: vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
- 83: float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
- 84: vResult.w = fract(Le);
- 85: vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;
- 86: return vResult;
- 87: }
- 88: const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
- 89: vec4 LogLuvToLinear( in vec4 value ) {
- 90: float Le = value.z * 255.0 + value.w;
- 91: vec3 Xp_Y_XYZp;
- 92: Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);
- 93: Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
- 94: Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
- 95: vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;
- 96: return vec4( max(vRGB, 0.0), 1.0 );
- 97: }
- 98:
- 99: vec4 mapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 100: vec4 envMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 101: vec4 emissiveMapTexelToLinear( vec4 value ) { return LinearToLinear( value ); }
- 102: vec4 linearToOutputTexel( vec4 value ) { return LinearToLinear( value ); }
- 103:
- 104:
- 105:
- 106: varying vec4 vColor;
- 107: varying float z;
- 108:
- 109: uniform vec3 color;
- 110:
- 111: void main() {
- 112: // Fake colors for now
- 113: float z2 = 0.2 + ( 1000. - z ) / 1000. * vColor.x;
- 114: gl_FragColor = vec4( z2, z2, z2, 1. );
- 115:
- 116: }
- 117:
- 118: three.js:17491
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: drawArrays: This operation requires zeroing texture data. This is slow. three.js:16845:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL warning: drawElements: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:16789:4
- Error: WebGL warning: drawElements: Framebuffer must be complete. three.js:16789:4
- Error: WebGL warning: clear: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGBA32F, which is not renderable three.js:21652:4
- Error: WebGL warning: clear: Framebuffer must be complete. three.js:21652:4
- Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) three.js:21652:4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement