die*_*dox 1 javascript webgl three.js
嗨我试图将图像加载到立方体但我不知道有什么问题.立方体很好但不是图像.这是链接:http://diegoddox.bitbucket.org/loadimage/
var scene, camera, renderer;
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColorHex(0xeeeeee);
renderer.clear();
document.body.appendChild(renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 70, window.innerWidth/window.innerHeight, 0.1, 5000 );
camera.position.z = 800;
camera.lookAt(scene.position);
scene.add(camera);
var material = new THREE.MeshBasicMaterial({
map: THREE.ImageUtils.loadTexture("img.jpg")
});
material.map.needsUpdate = true;
var cube = new THREE.Mesh(new THREE.CubeGeometry(300, 300, 300), material);
cube.overdraw = true;
cube.position.x = 0;
cube.rotation.x = -20;
cube.rotation.z = -2;
scene.add(cube);
renderer.render(scene, camera);
Run Code Online (Sandbox Code Playgroud)
图像加载是异步的.
发生的事情是您的单个render()呼叫在图像完成加载之前发生.
输入
renderer.render(scene, camera);
Run Code Online (Sandbox Code Playgroud)
进入控制台,你会看到纹理呈现.
您需要向loadTexture()函数添加回调并render()从那里调用,或者,您可以使用添加动画循环requestAnimationFrame().
| 归档时间: |
|
| 查看次数: |
3760 次 |
| 最近记录: |