material-browser.html 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <html>
  2. <head>
  3. <title>MeshBasicMaterial</title>
  4. <style>
  5. body {margin:0;}
  6. canvas { width: 100%; height: 100% }
  7. </style>
  8. </head>
  9. <body>
  10. <script src="../../build/three.min.js"></script>
  11. <script src='../../examples/js/libs/dat.gui.min.js'></script>
  12. <script src='js/material.js'></script>
  13. <script>
  14. var gui = new dat.GUI();
  15. var scene = new THREE.Scene();
  16. var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 50 );
  17. guiScene( gui, scene, camera );
  18. var renderer = new THREE.WebGLRenderer();
  19. renderer.setSize( window.innerWidth, window.innerHeight );
  20. document.body.appendChild( renderer.domElement );
  21. var geometry = new THREE.TorusKnotGeometry( 10, 3, 100, 16 );
  22. var material = chooseFromHash( gui, geometry );
  23. var torus = new THREE.Mesh( geometry, material );
  24. scene.add( torus );
  25. var lights = [];
  26. lights[0] = new THREE.AmbientLight( 0x555555 );
  27. lights[1] = new THREE.PointLight( 0xffffff, 1, 0 );
  28. lights[2] = new THREE.PointLight( 0xffffff, 1, 0 );
  29. lights[3] = new THREE.PointLight( 0xffffff, 1, 0 );
  30. lights[1].position.set( 0, 200, 0 );
  31. lights[2].position.set( 100, 200, 100 );
  32. lights[3].position.set( -100, -200, -100 );
  33. //scene.add( lights[0] );
  34. scene.add( lights[1] );
  35. scene.add( lights[2] );
  36. scene.add( lights[3] );
  37. camera.position.z = 30;
  38. var prevFog = false;
  39. var render = function () {
  40. requestAnimationFrame( render );
  41. torus.rotation.x += 0.01;
  42. torus.rotation.y += 0.01;
  43. if( prevFog !== scene.fog ) {
  44. material.needsUpdate = true;
  45. prevFog = scene.fog;
  46. }
  47. renderer.render( scene, camera );
  48. };
  49. window.addEventListener( 'resize', function() {
  50. camera.aspect = window.innerWidth / window.innerHeight;
  51. camera.updateProjectionMatrix();
  52. renderer.setSize( window.innerWidth, window.innerHeight );
  53. }, false );
  54. render();
  55. </script>
  56. </body>
  57. </html>