使用Three.js对球体进行纹理处理;不能在智能手机上工作
Texturing a sphere with Three.js does'nt work on smartphones
我在使用Three.js时遇到了一些问题。我想在球体(图像)上应用纹理。我的代码工作起来没有任何问题。。。直到我在智能手机上试用。我试着用Firefox及其远程调试器查找这个错误,但没有发现问题。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
<meta name="viewport" content="initial-scale=1.0" />
<script src="./three.min.js"></script>
<script src="./sphere.js"></script>
<style>
html, body, #container {
margin: 0;
overflow: hidden;
}
</style>
</head>
<body>
<div id="container" style="width: 300px; height: 200px;"></div>
<script>
init();
</script>
</body>
</html>
和:
var renderer, scene, camera, mesh;
function init() {
var container = document.getElementById('container');
var width = container.offsetWidth;
var height = container.offsetHeight;
renderer = new THREE.WebGLRenderer();
renderer.setSize(width, height);
container.appendChild(renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(90, width/height, 1, 1000);
camera.position.set(0, 0, 300);
scene.add(camera);
var geometry = new THREE.SphereGeometry(200, 16, 16);
var texture = new THREE.Texture();
var loader = new THREE.ImageLoader();
var f = function(img) {
texture.needsUpdate = true;
texture.image = img;
var material = new THREE.MeshBasicMaterial({map: texture, overdraw: true});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
render();
animate();
}
loader.load('sphere.jpg', f);
}
function animate() {
requestAnimationFrame(animate);
mesh.rotation.y += 0.003;
render();
}
function render() {
renderer.render(scene, camera);
}
我做错了什么?
如果您想查看代码的运行情况,可以访问此处。请注意,WebGLRenderer和CanvasRenderer都存在问题。
作为转发:使用两个纹理大小的幂来解决问题。
相关文章:
- 为什么toggle()能处理文档而不能处理正文
- 为什么.on('load',函数)不能处理JS模板
- this.push()可以处理PHP数据,但不能处理javascript数据
- jquery选择器没有'不能处理表中动态添加的行
- jquery不能处理多个函数
- 不能处理Modernizr.背景尺寸与ie6和一些移动设备
- 为什么流行的JavaScript运行时不能处理看起来像同步的异步脚本?
- 为什么't trim()不能处理$ ?用于删除字符串数组中的空白
- 为什么这个greasemonkey代码不能处理UTF8字符?
- javascript事件.在FireFox 3.6.25中,keyCode不能处理keydown、keypress或ke
- jQuery detach()和remove()都不能处理附加元素
- appendChild不能处理窗口.在IE中打开
- 神经网络不能处理给定的负载
- 对多维数组进行排序不能处理小数
- 不能处理颜色选择器上的onChange事件
- 为什么我对on()(或live())的调用不能处理使用append()添加的元素?
- PHP/jQuery S3上传不能处理带有空格的文件
- Opencpu不能处理数据.表在R
- 鼠标监听器不能处理innerHTML和图库中的图像
- 只能用减法递归除法——不能处理小数