three.js cube六面贴图

 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>

 

转载于:https://www.cnblogs.com/onestow/p/6336539.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值