-
Notifications
You must be signed in to change notification settings - Fork 3
/
aframe-lensflare-component.js.map
1 lines (1 loc) · 30 KB
/
aframe-lensflare-component.js.map
1
{"version":3,"sources":["webpack:///webpack/bootstrap 2c280269332efe31211c","webpack:///./index.js","webpack:///./Lensflare.js"],"names":["AFRAME","Error","THREE","require","registerComponent","schema","src","type","createLight","default","position","target","intensity","relative","size","lightColor","lightDistance","lightAngle","Math","PI","lightPenumbra","lightDecay","lightType","oneOf","multiple","setLightType","settings","SpotLight","Color","PointLight","DirectionalLight","init","scene","document","querySelector","object3D","parentEl","el","sceneEl","data","Vector3","textureLoader","TextureLoader","textureFlare","load","currentSrc","texture","undefined","error","lensFlare","Lensflare","lensFlareElement","LensflareElement","addElement","copy","light","toLowerCase","hasTarget","add","updateMatrixWorld","set","x","y","z","update","oldData","remove","pause","play","Mesh","call","Geometry","MeshBasicMaterial","opacity","transparent","frustumCulled","renderOrder","Infinity","positionScreen","positionView","tempMap","DataTexture","Uint8Array","RGBFormat","minFilter","NearestFilter","magFilter","wrapS","ClampToEdgeWrapping","wrapT","needsUpdate","occlusionMap","geometry","material1a","RawShaderMaterial","uniforms","value","vertexShader","join","fragmentShader","depthTest","depthWrite","material1b","mesh1","elements","shader","Shader","material2","Vector2","blending","AdditiveBlending","mesh2","element","push","scale","screenPositionPixels","validArea","Box2","viewport","Vector4","onBeforeRender","renderer","camera","getCurrentViewport","invAspect","w","halfViewportWidth","halfViewportHeight","min","max","setFromMatrixPosition","matrixWorld","applyMatrix4","matrixWorldInverse","projectionMatrix","containsPoint","copyFramebufferToTexture","renderBufferDirect","vecX","vecY","i","l","length","color","distance","uniformsNeedUpdate","dispose","prototype","Object","create","constructor","isLensflare","BufferGeometry","float32Array","Float32Array","interleavedBuffer","InterleavedBuffer","setIndex","addAttribute","InterleavedBufferAttribute"],"mappings":"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","file":"aframe-lensflare-component.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2c280269332efe31211c","/* global AFRAME */\n/* global THREE */\n\nif (typeof AFRAME === 'undefined') {\n throw new Error('Component attempted to register before AFRAME was available.')\n}\n\nif (typeof THREE === 'undefined') {\n throw new Error('Component attempted to register before THREE was available.')\n}\n\n//https://github.com/mrdoob/three.js/blob/master/examples/js/objects/Lensflare.js\nrequire('./Lensflare')\n\n/**\n * A-Frame Lensflare Component component for A-Frame.\n */\nAFRAME.registerComponent('lensflare', {\n schema: {\n src: {\n type: 'asset'\n },\n createLight: {\n type: 'boolean',\n default: true\n },\n position: {\n type: 'vec3'\n },\n target: {\n type: 'string'\n },\n intensity: {\n type: 'number',\n default: 5\n },\n relative: {\n type: 'boolean',\n default: true\n },\n size: {\n type: 'number',\n default: 500\n },\n lightColor: {\n type: 'string',\n default: 'rgb(255, 255, 255)'\n },\n lightDistance: {\n type: 'number',\n default: 4.0,\n },\n lightAngle: {\n type: 'number',\n default: Math.PI / 3,\n },\n lightPenumbra: {\n type: 'number',\n default: 0.077,\n },\n lightDecay: {\n type: 'number',\n default: 1,\n },\n lightType: {\n default: 'spot',\n oneOf: ['directional', 'point', 'spot']\n }\n },\n\n /**\n * Set if component needs multiple instancing.\n */\n multiple: true,\n\n /**\n * setLightType - Create a light based on lightType\n *\n * @param {String} type Type of the light, supplied as a string.\n * @param {Object} settings Additional settings to pass to the light. E.g. angle and decay\n * @return {THREE.Light} A THREE.JS light object\n */\n setLightType: function (type, settings) {\n switch (type) {\n case 'spot':\n return new THREE.SpotLight(new THREE.Color(settings.lightColor), settings.intensity, settings.lightDistance, settings.lightAngle, settings.lightPenumbra, settings.lightDecay)\n case 'point':\n return new THREE.PointLight(new THREE.Color(settings.lightColor), settings.intensity, settings.lightDistance, settings.lightDecay)\n case 'directional':\n return new THREE.DirectionalLight(new THREE.Color(settings.lightColor), settings.intensity)\n }\n },\n /**\n * Called once when component is attached. Generally for initial setup.\n */\n init: function () {\n\n const scene = document.querySelector('a-scene').object3D;\n const parentEl = this.el.object3D\n const sceneEl = this.el.sceneEl.object3D\n\n //Determine positioning\n const position = this.data.relative ? new THREE.Vector3(0, 0, 0) : this.data.position\n\n //Load texture (Three r84 upward doesn't support progress)\n const textureLoader = new THREE.TextureLoader()\n const textureFlare = textureLoader.load(this.data.src.currentSrc,\n function (texture) {\n return texture\n },\n undefined,\n function (error) {\n throw new Error('An error occured loading the Flare texture')\n }\n )\n\n this.lensFlare = new THREE.Lensflare()\n this.lensFlareElement = new THREE.LensflareElement(textureFlare, this.data.size, 0.0, new THREE.Color(this.data.lightColor))\n this.lensFlare.addElement(this.lensFlareElement);\n this.lensFlare.position.copy(position)\n\n\n\n //Determine if the user wants a light\n if (this.data.createLight) {\n\n const light = this.setLightType(this.data.lightType.toLowerCase(), this.data)\n\n //Has a target been supplied?\n const hasTarget = this.data.target ? this.data.target : false\n\n //Set light target.\n if (hasTarget) {\n light.target = document.querySelector(this.data.target).object3D\n sceneEl.add(light.target)\n sceneEl.updateMatrixWorld()\n }\n light.position.set(position.x, position.y, position.z)\n\n //If relative, we want to attach the lensflare, and the light as child objects and call updateMatrixWorld once.\n if (this.data.relative) {\n light.add(this.lensFlare)\n parentEl.add(light)\n sceneEl.updateMatrixWorld()\n } else {\n scene.add(light)\n }\n } else {\n //If relative, we want to attach the lensflare as a child object. This is so our lensflare works with animation updates.\n if (this.data.relative) {\n parentEl.add(this.lensFlare)\n sceneEl.updateMatrixWorld()\n } else {\n scene.add(this.lensFlare)\n }\n }\n\n\n },\n\n /**\n * Called when component is attached and when component data changes.\n * Generally modifies the entity based on the data.\n */\n update: function (oldData) {\n\n },\n\n /**\n * Called when a component is removed (e.g., via removeAttribute).\n * Generally undoes all modifications to the entity.\n */\n remove: function () { },\n\n /**\n * Called on each scene tick.\n */\n // tick: function (t) { },\n\n /**\n * Called when entity pauses.\n * Use to stop or remove any dynamic or background behavior such as events.\n */\n pause: function () { },\n\n /**\n * Called when entity resumes.\n * Use to continue or add any dynamic or background behavior such as events.\n */\n play: function () { }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./index.js","/**\r\n * @author Mugen87 / https://github.com/Mugen87\r\n * @author mrdoob / http://mrdoob.com/\r\n */\r\n\r\nTHREE.Lensflare = function () {\r\n\r\n\tTHREE.Mesh.call( this, THREE.Lensflare.Geometry, new THREE.MeshBasicMaterial( { opacity: 0, transparent: true } ) );\r\n\r\n\tthis.type = 'Lensflare';\r\n\tthis.frustumCulled = false;\r\n\tthis.renderOrder = Infinity;\r\n\r\n\t//\r\n\r\n\tvar positionScreen = new THREE.Vector3();\r\n\tvar positionView = new THREE.Vector3();\r\n\r\n\t// textures\r\n\r\n\tvar tempMap = new THREE.DataTexture( new Uint8Array( 16 * 16 * 3 ), 16, 16, THREE.RGBFormat );\r\n\ttempMap.minFilter = THREE.NearestFilter;\r\n\ttempMap.magFilter = THREE.NearestFilter;\r\n\ttempMap.wrapS = THREE.ClampToEdgeWrapping;\r\n\ttempMap.wrapT = THREE.ClampToEdgeWrapping;\r\n\ttempMap.needsUpdate = true;\r\n\r\n\tvar occlusionMap = new THREE.DataTexture( new Uint8Array( 16 * 16 * 3 ), 16, 16, THREE.RGBFormat );\r\n\tocclusionMap.minFilter = THREE.NearestFilter;\r\n\tocclusionMap.magFilter = THREE.NearestFilter;\r\n\tocclusionMap.wrapS = THREE.ClampToEdgeWrapping;\r\n\tocclusionMap.wrapT = THREE.ClampToEdgeWrapping;\r\n\tocclusionMap.needsUpdate = true;\r\n\r\n\t// material\r\n\r\n\tvar geometry = THREE.Lensflare.Geometry;\r\n\r\n\tvar material1a = new THREE.RawShaderMaterial( {\r\n\t\tuniforms: {\r\n\t\t\t'scale': { value: null },\r\n\t\t\t'screenPosition': { value: null }\r\n\t\t},\r\n\t\tvertexShader: [\r\n\r\n\t\t\t'precision highp float;',\r\n\r\n\t\t\t'uniform vec3 screenPosition;',\r\n\t\t\t'uniform vec2 scale;',\r\n\r\n\t\t\t'attribute vec3 position;',\r\n\r\n\t\t\t'void main() {',\r\n\r\n\t\t\t'\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );',\r\n\r\n\t\t\t'}'\r\n\r\n\t\t].join( '\\n' ),\r\n\t\tfragmentShader: [\r\n\r\n\t\t\t'precision highp float;',\r\n\r\n\t\t\t'void main() {',\r\n\r\n\t\t\t'\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );',\r\n\r\n\t\t\t'}'\r\n\r\n\t\t].join( '\\n' ),\r\n\t\tdepthTest: true,\r\n\t\tdepthWrite: false,\r\n\t\ttransparent: false\r\n\t} );\r\n\r\n\tvar material1b = new THREE.RawShaderMaterial( {\r\n\t\tuniforms: {\r\n\t\t\t'map': { value: tempMap },\r\n\t\t\t'scale': { value: null },\r\n\t\t\t'screenPosition': { value: null }\r\n\t\t},\r\n\t\tvertexShader: [\r\n\r\n\t\t\t'precision highp float;',\r\n\r\n\t\t\t'uniform vec3 screenPosition;',\r\n\t\t\t'uniform vec2 scale;',\r\n\r\n\t\t\t'attribute vec3 position;',\r\n\t\t\t'attribute vec2 uv;',\r\n\r\n\t\t\t'varying vec2 vUV;',\r\n\r\n\t\t\t'void main() {',\r\n\r\n\t\t\t'\tvUV = uv;',\r\n\r\n\t\t\t'\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );',\r\n\r\n\t\t\t'}'\r\n\r\n\t\t].join( '\\n' ),\r\n\t\tfragmentShader: [\r\n\r\n\t\t\t'precision highp float;',\r\n\r\n\t\t\t'uniform sampler2D map;',\r\n\r\n\t\t\t'varying vec2 vUV;',\r\n\r\n\t\t\t'void main() {',\r\n\r\n\t\t\t'\tgl_FragColor = texture2D( map, vUV );',\r\n\r\n\t\t\t'}'\r\n\r\n\t\t].join( '\\n' ),\r\n\t\tdepthTest: false,\r\n\t\tdepthWrite: false,\r\n\t\ttransparent: false\r\n\t} );\r\n\r\n\t// the following object is used for occlusionMap generation\r\n\r\n\tvar mesh1 = new THREE.Mesh( geometry, material1a );\r\n\r\n\t//\r\n\r\n\tvar elements = [];\r\n\r\n\tvar shader = THREE.LensflareElement.Shader;\r\n\r\n\tvar material2 = new THREE.RawShaderMaterial( {\r\n\t\tuniforms: {\r\n\t\t\t'map': { value: null },\r\n\t\t\t'occlusionMap': { value: occlusionMap },\r\n\t\t\t'color': { value: new THREE.Color( 0xffffff ) },\r\n\t\t\t'scale': { value: new THREE.Vector2() },\r\n\t\t\t'screenPosition': { value: new THREE.Vector3() }\r\n\t\t},\r\n\t\tvertexShader: shader.vertexShader,\r\n\t\tfragmentShader: shader.fragmentShader,\r\n\t\tblending: THREE.AdditiveBlending,\r\n\t\ttransparent: true,\r\n\t\tdepthWrite: false\r\n\t} );\r\n\r\n\tvar mesh2 = new THREE.Mesh( geometry, material2 );\r\n\r\n\tthis.addElement = function ( element ) {\r\n\r\n\t\telements.push( element );\r\n\r\n\t};\r\n\r\n\t//\r\n\r\n\tvar scale = new THREE.Vector2();\r\n\tvar screenPositionPixels = new THREE.Vector2();\r\n\tvar validArea = new THREE.Box2();\r\n\tvar viewport = new THREE.Vector4();\r\n\r\n\tthis.onBeforeRender = function ( renderer, scene, camera ) {\r\n\r\n\t\trenderer.getCurrentViewport( viewport );\r\n\r\n\t\tvar invAspect = viewport.w / viewport.z;\r\n\t\tvar halfViewportWidth = viewport.z / 2.0;\r\n\t\tvar halfViewportHeight = viewport.w / 2.0;\r\n\r\n\t\tvar size = 16 / viewport.w;\r\n\t\tscale.set( size * invAspect, size );\r\n\r\n\t\tvalidArea.min.set( viewport.x, viewport.y );\r\n\t\tvalidArea.max.set( viewport.x + ( viewport.z - 16 ), viewport.y + ( viewport.w - 16 ) );\r\n\r\n\t\t// calculate position in screen space\r\n\r\n\t\tpositionView.setFromMatrixPosition( this.matrixWorld );\r\n\t\tpositionView.applyMatrix4( camera.matrixWorldInverse );\r\n\r\n\t\tif ( positionView.z > 0 ) return; // lensflare is behind the camera\r\n\r\n\t\tpositionScreen.copy( positionView ).applyMatrix4( camera.projectionMatrix );\r\n\r\n\t\t// horizontal and vertical coordinate of the lower left corner of the pixels to copy\r\n\r\n\t\tscreenPositionPixels.x = viewport.x + ( positionScreen.x * halfViewportWidth ) + halfViewportWidth - 8;\r\n\t\tscreenPositionPixels.y = viewport.y + ( positionScreen.y * halfViewportHeight ) + halfViewportHeight - 8;\r\n\r\n\t\t// screen cull\r\n\r\n\t\tif ( validArea.containsPoint( screenPositionPixels ) ) {\r\n\r\n\t\t\t// save current RGB to temp texture\r\n\r\n\t\t\trenderer.copyFramebufferToTexture( screenPositionPixels, tempMap );\r\n\r\n\t\t\t// render pink quad\r\n\r\n\t\t\tvar uniforms = material1a.uniforms;\r\n\t\t\tuniforms[ \"scale\" ].value = scale;\r\n\t\t\tuniforms[ \"screenPosition\" ].value = positionScreen;\r\n\r\n\t\t\trenderer.renderBufferDirect( camera, null, geometry, material1a, mesh1, null );\r\n\r\n\t\t\t// copy result to occlusionMap\r\n\r\n\t\t\trenderer.copyFramebufferToTexture( screenPositionPixels, occlusionMap );\r\n\r\n\t\t\t// restore graphics\r\n\r\n\t\t\tvar uniforms = material1b.uniforms;\r\n\t\t\tuniforms[ \"scale\" ].value = scale;\r\n\t\t\tuniforms[ \"screenPosition\" ].value = positionScreen;\r\n\r\n\t\t\trenderer.renderBufferDirect( camera, null, geometry, material1b, mesh1, null );\r\n\r\n\t\t\t// render elements\r\n\r\n\t\t\tvar vecX = - positionScreen.x * 2;\r\n\t\t\tvar vecY = - positionScreen.y * 2;\r\n\r\n\t\t\tfor ( var i = 0, l = elements.length; i < l; i ++ ) {\r\n\r\n\t\t\t\tvar element = elements[ i ];\r\n\r\n\t\t\t\tvar uniforms = material2.uniforms;\r\n\r\n\t\t\t\tuniforms[ \"color\" ].value.copy( element.color );\r\n\t\t\t\tuniforms[ \"map\" ].value = element.texture;\r\n\t\t\t\tuniforms[ \"screenPosition\" ].value.x = positionScreen.x + vecX * element.distance;\r\n\t\t\t\tuniforms[ \"screenPosition\" ].value.y = positionScreen.y + vecY * element.distance;\r\n\r\n\t\t\t\tvar size = element.size / viewport.w;\r\n\t\t\t\tvar invAspect = viewport.w / viewport.z;\r\n\r\n\t\t\t\tuniforms[ \"scale\" ].value.set( size * invAspect, size );\r\n\r\n\t\t\t\tmaterial2.uniformsNeedUpdate = true;\r\n\r\n\t\t\t\trenderer.renderBufferDirect( camera, null, geometry, material2, mesh2, null );\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t};\r\n\r\n\tthis.dispose = function () {\r\n\r\n\t\tmaterial1a.dispose();\r\n\t\tmaterial1b.dispose();\r\n\t\tmaterial2.dispose();\r\n\r\n\t\ttempMap.dispose();\r\n\t\tocclusionMap.dispose();\r\n\r\n\t\tfor ( var i = 0, l = elements.length; i < l; i ++ ) {\r\n\r\n\t\t\telements[ i ].texture.dispose();\r\n\r\n\t\t}\r\n\r\n\t};\r\n\r\n};\r\n\r\nTHREE.Lensflare.prototype = Object.create( THREE.Mesh.prototype );\r\nTHREE.Lensflare.prototype.constructor = THREE.Lensflare;\r\nTHREE.Lensflare.prototype.isLensflare = true;\r\n\r\n//\r\n\r\nTHREE.LensflareElement = function ( texture, size, distance, color ) {\r\n\r\n\tthis.texture = texture;\r\n\tthis.size = size || 1;\r\n\tthis.distance = distance || 0;\r\n\tthis.color = color || new THREE.Color( 0xffffff );\r\n\r\n};\r\n\r\nTHREE.LensflareElement.Shader = {\r\n\r\n\tuniforms: {\r\n\r\n\t\t'map': { value: null },\r\n\t\t'occlusionMap': { value: null },\r\n\t\t'color': { value: null },\r\n\t\t'scale': { value: null },\r\n\t\t'screenPosition': { value: null }\r\n\r\n\t},\r\n\r\n\tvertexShader: [\r\n\r\n\t\t'precision highp float;',\r\n\r\n\t\t'uniform vec3 screenPosition;',\r\n\t\t'uniform vec2 scale;',\r\n\r\n\t\t'uniform sampler2D occlusionMap;',\r\n\r\n\t\t'attribute vec3 position;',\r\n\t\t'attribute vec2 uv;',\r\n\r\n\t\t'varying vec2 vUV;',\r\n\t\t'varying float vVisibility;',\r\n\r\n\t\t'void main() {',\r\n\r\n\t\t'\tvUV = uv;',\r\n\r\n\t\t'\tvec2 pos = position.xy;',\r\n\r\n\t\t'\tvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );',\r\n\t\t'\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );',\r\n\r\n\t\t'\tvVisibility = visibility.r / 9.0;',\r\n\t\t'\tvVisibility *= 1.0 - visibility.g / 9.0;',\r\n\t\t'\tvVisibility *= visibility.b / 9.0;',\r\n\r\n\t\t'\tgl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );',\r\n\r\n\t\t'}'\r\n\r\n\t].join( '\\n' ),\r\n\r\n\tfragmentShader: [\r\n\r\n\t\t'precision highp float;',\r\n\r\n\t\t'uniform sampler2D map;',\r\n\t\t'uniform vec3 color;',\r\n\r\n\t\t'varying vec2 vUV;',\r\n\t\t'varying float vVisibility;',\r\n\r\n\t\t'void main() {',\r\n\r\n\t\t'\tvec4 texture = texture2D( map, vUV );',\r\n\t\t'\ttexture.a *= vVisibility;',\r\n\t\t'\tgl_FragColor = texture;',\r\n\t\t'\tgl_FragColor.rgb *= color;',\r\n\r\n\t\t'}'\r\n\r\n\t].join( '\\n' )\r\n\r\n};\r\n\r\nTHREE.Lensflare.Geometry = ( function () {\r\n\r\n\tvar geometry = new THREE.BufferGeometry();\r\n\r\n\tvar float32Array = new Float32Array( [\r\n\t\t- 1, - 1, 0, 0, 0,\r\n\t\t1, - 1, 0, 1, 0,\r\n\t\t1, 1, 0, 1, 1,\r\n\t\t- 1, 1, 0, 0, 1\r\n\t] );\r\n\r\n\tvar interleavedBuffer = new THREE.InterleavedBuffer( float32Array, 5 );\r\n\r\n\tgeometry.setIndex( [ 0, 1, 2,\t0, 2, 3 ] );\r\n\tgeometry.addAttribute( 'position', new THREE.InterleavedBufferAttribute( interleavedBuffer, 3, 0, false ) );\r\n\tgeometry.addAttribute( 'uv', new THREE.InterleavedBufferAttribute( interleavedBuffer, 2, 3, false ) );\r\n\r\n\treturn geometry;\r\n\r\n} )();\r\n\n\n\n// WEBPACK FOOTER //\n// ./Lensflare.js"],"sourceRoot":""}