我在这里有一个THREEjs CodePen可以显示问题:http://codepen.io/ASRagab/pen/IsAnr
这在Safari或Firefox中没有问题。但在Chrome for Mac或Windows上,我在控制台中收到了CORS违规。图像上传到由codepen托管的资产存储库,作为PRO功能允许用户托管资源。我应该可以使用而不必担心它是外在的。我已经加载了纹理图像以确保它来自Javascript,如果您在笔窗口向下滚动相关代码,您将看到它:
var img0 = new Image();
img0.src = 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/46731/left.jpg';
$(img0).load(function(){
$('#testImage').append(this);
});
此外,我知道THREEjs中存在以下错误:https://github.com/mrdoob/three.js/issues/687
我相信这已经解决了。在SO上有一些与此相似的问题,但到目前为止,我不认为它们是同一个问题。
资产有两条可用路径:
http://s.cdpn.io/46731/left.jpg
https://s3-us-west-2.amazonaws.com/s.cdpn.io/46731/left.jpg
使用THREE.ImageUtils.loadTexture()
方法将纹理加载到制服对象中,该对象将发送到着色器。代码:
var uniforms = {texture0:
{ type: 't', value: THREE.ImageUtils.loadTexture(img0.src) },
amplitude: {type:'f', value: 0}
};
我不认为这是一个CodePen问题,但我认识到这个问题没有什么可移动的部分。