一点头绪都没有,看代码不懂怎么看
//JS 代码
/*
@Author:
@Date:
*/
var container;
var camera, scene, renderer;
var uniforms;
init();
animate();
function init() {
container = document.getElementById( 'container' );
camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 );
scene = new THREE.Scene();
var geometry = new THREE.PlaneBufferGeometry( 2, 2 );
/*
material, video
more about video material, see
https://github.com/mrdoob/three.js/blob/master/examples/webgl_materials_video.html
*/
var loader = new THREE.TextureLoader();
loader.crossOrigin = true;
uniforms = {
u_time: { value: 1.0 },
u_resolution: { type:'v2',value: new THREE.Vector2() },
u_mouse: { type:'v2',value: new THREE.Vector2() },
//u_map:{ value:loader.load( '/disturb.jpg' ) },
//u_map:{ value:loader.load( 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/141228/earthmap1k.jpg' ) }
};
var material = new THREE.ShaderMaterial( {
uniforms: uniforms,
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( 'fragmentShader' ).textContent
} );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio( window.devicePixelRatio );
container.appendChild( renderer.domElement );
onWindowResize();
window.addEventListener( 'resize', onWindowResize, false );
window.addEventListener( 'mousemove', onMouseMove, false );
}
function onWindowResize( event ) {
uniforms.u_resolution.value.x = window.innerWidth;
uniforms.u_resolution.value.y = window.innerHeight;
renderer.setSize( window.innerWidth, window.innerHeight );
}
function onMouseMove( event ) {
uniforms.u_mouse.value.x = event.clientX;
uniforms.u_mouse.value.y = event.clientY;
}
function updateFPS(){
var current_time, dt;
if(!window.last_time){
window.last_time = (new Date).getTime();
}
current_time = (new Date).getTime();
dt = (current_time - last_time) / 1000;
last_time = current_time;
window.fps = 1 / dt;
fps = ~~(window.fps);
document.getElementById('showfps').innerHTML = 'FPS:'+fps;
}
//
function animate( timestamp ) {
window.fps = 0;
requestAnimationFrame( animate );
uniforms.u_time.value = timestamp / 1000;
renderer.render( scene, camera );
updateFPS();
}
实在搞不清楚怎么做的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.