首页 > Web开发 > 详细

three.js cube六面贴图

时间:2017-01-21 10:50:55      阅读:306      评论:0      收藏:0      [点我收藏+]
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4     <title>texture</title>
 5     <script src="js/three.min.js"></script>
 6     <style>
 7 body {
 8     margin:0;
 9     overflow:hidden;
10 }
11     </style>
12     <script>
13         var materials = [];
14         var textureLoader;
15         function init() {
16         textureLoader = new THREE.TextureLoader();
17         load_textures([img/01.png, img/02.png, img/03.png, img/04.png, img/05.png, img/06.png], 0)
18         }
19 
20         //加载纹理
21         function load_textures(to_load, loadedIndex) {
22         if(loadedIndex == to_load.length) {
23             solve();        //加载纹理完毕后开始初始化并渲染场景
24             return;
25         }
26         textureLoader.load(to_load[loadedIndex], function(tex) {
27             //loadedtex[to_load[loadedIndex]] = tex;
28             materials[loadedIndex] = (new THREE.MeshBasicMaterial({map:tex, overdraw: true}));
29             load_textures(to_load, loadedIndex+1);
30         });
31         }
32 
33         function solve() {
34         var sw = window.innerWidth;
35         var sh = window.innerHeight;
36 
37         var scene = new THREE.Scene();
38 
39         var camera = new THREE.PerspectiveCamera(45, sw / sh, 0.1, 1000);
40         camera.position.set(0, 0, 150);
41         camera.lookAt(scene.position);
42 
43         var renderer = new THREE.WebGLRenderer();
44         renderer.setClearColor(0x000000);
45         renderer.setSize(sw, sh);
46 
47         //var ambLight = new THREE.AmbientLight("#ffffff");
48         //scene.add(ambLight);
49 
50         console.log(materials);
51         var cube = new THREE.Mesh(
52             new THREE.CubeGeometry(50, 50, 50),
53             new THREE.MultiMaterial(materials)
54             );
55         scene.add(cube);
56 
57         document.getElementById("webGL").appendChild(renderer.domElement);
58         render();
59 
60         function render() {
61             cube.rotation.x+=0.01;
62             cube.rotation.y+=0.01;
63             cube.rotation.z+=0.01;
64             requestAnimationFrame(render);
65             renderer.render(scene, camera);
66         }
67         }
68         window.onload = init();
69     </script>
70     </head>
71     <body>
72     <div id="webGL"></div>
73     </body>
74 </html>

 

three.js cube六面贴图

原文:http://www.cnblogs.com/onestow/p/6336539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!