这是html5中WebGL的演示,让我们与他人分享爱您发送短消息。每次你进入它使用不同的位置,新的爱情点被添加到全球。让世界更明亮的地方与你的朋友分享! 源文件: 部分代码: <!DOCTYPE html> <html> <head> <title>Geolocation love</title> <meta charset="utf-8"> <script src="js/jquery-1.8.2.min.js"></script> <script src="js/three.js"></script> <script src="js/Detector.js"></script> <script src="js/Stats.js"></script> <script src="js/Tween.js"></script> <script src="js/ShaderExtras.js"></script> <script src="js/EffectComposer.js"></script> <script src="js/ShaderPass.js"></script> <script src="js/MaskPass.js"></script> <script src="js/RenderPass.js"></script> <script src="js/BloomPass.js"></script> <script src="js/FilmPass.js"></script> <script type="text/javascript" src="js/main.js"></script> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="container"></div> <section class="box" id="messageBox"> <div id="message">No matter where you are, always make the world brighter place</div> <div id="dist"></div> <div id="shareSwitcher"><a>Click to share your love with others!</a></div> <div id="likeIt"><a href="https://developer.mozilla.org/en-US/demos/detail/geolocation-love">Like this demo on DevDerby</a></div> </section> <section class="box" id="shareBox"> <div id="form"> <h1>Type your message to the world</h1> <textarea id="messageArea"> </textarea> <input id="submitShare" type="button" value="get share link" /> </div> </section> </div> </div> <script type="x-shader/x-vertex" id="earthVertex"> varying vec3 vNormal; varying vec2 vUv; void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); vNormal = normalize( normalMatrix * normal ); vUv = uv; } </script> <script type="x-shader/x-fragment" id="earthFragment"> uniform sampler2D texture; varying vec3 vNormal; varying vec2 vUv; void main() { vec3 diffuse = texture2D( texture, vUv ).xyz; float intensity = 1.15 - dot( vNormal, vec3( 0.0, 0.0, 1.0 ) ); vec3 atmosphere = vec3( 1.0, 1.0, 1.0 ) * pow( intensity, 3.0 ); gl_FragColor = vec4( diffuse + atmosphere, 1.0 ); } </script> <script type="x-shader/x-vertex" id="atmosphereVertex"> varying vec3 vNormal; void main() { vNormal = normalize( normalMatrix * normal ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); } </script> <script type="x-shader/x-fragment" id="atmosphereFragment"> varying vec3 vNormal; void main() { float intensity = pow( 0.8 - dot( vNormal, vec3( 0, 0, 1.0 ) ), 10.0 ); gl_FragColor = vec4( 1.0, 1.0, 1.0, 1.0 ) * intensity; } </script> </body> </html> |