webgl_materials_texture_compressed.html 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>three.js webgl - materials - compressed textures</title>
  5. <meta charset="utf-8">
  6. <style>
  7. body {
  8. margin: 0px;
  9. background-color: #050505;
  10. overflow: hidden;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <script src="../build/three.min.js"></script>
  16. <script>
  17. var camera, scene, renderer;
  18. var mesh1, mesh2;
  19. init();
  20. animate();
  21. function init() {
  22. camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 1, 2000 );
  23. camera.position.z = 800;
  24. scene = new THREE.Scene();
  25. geometry = new THREE.CubeGeometry( 200, 200, 200 );
  26. var map1 = THREE.ImageUtils.loadCompressedTexture( 'textures/compressed/disturb_dxt1_nomip.dds' );
  27. map1.minFilter = map1.magFilter = THREE.LinearFilter;
  28. map1.anisotropy = 4;
  29. var map2 = THREE.ImageUtils.loadCompressedTexture( 'textures/compressed/disturb_dxt1_mip.dds' );
  30. map2.anisotropy = 4;
  31. var material1 = new THREE.MeshBasicMaterial( { map: map1 } );
  32. var material2 = new THREE.MeshBasicMaterial( { map: map2 } );
  33. mesh1 = new THREE.Mesh( geometry, material1 );
  34. mesh1.position.x = -200;
  35. scene.add( mesh1 );
  36. mesh2 = new THREE.Mesh( geometry, material2 );
  37. mesh2.position.x = 200;
  38. scene.add( mesh2 );
  39. renderer = new THREE.WebGLRenderer();
  40. renderer.setSize( window.innerWidth, window.innerHeight );
  41. document.body.appendChild( renderer.domElement );
  42. window.addEventListener( 'resize', onWindowResize, false );
  43. }
  44. function onWindowResize() {
  45. camera.aspect = window.innerWidth / window.innerHeight;
  46. camera.updateProjectionMatrix();
  47. renderer.setSize( window.innerWidth, window.innerHeight );
  48. }
  49. function animate() {
  50. requestAnimationFrame( animate );
  51. var time = Date.now() * 0.001;
  52. mesh1.rotation.x = time;
  53. mesh1.rotation.y = time;
  54. mesh2.rotation.x = time;
  55. mesh2.rotation.y = time;
  56. renderer.render( scene, camera );
  57. }
  58. </script>
  59. </body>
  60. </html>
粤ICP备19079148号