所以我正在尝试加载图像。最初它不在S3 / Cloudfront中,但即时通讯发现它甚至不在本地运行。
var imageTexture = new THREE.TextureLoader();
imageTexture.load('/mypicture.jpg');
imageTexture.minFilter = THREE.LinearFilter;
var img = new THREE.MeshBasicMaterial({
map:imageTexture
});
img.map.needsUpdate = true;
这是我遇到的错误。
three.js:18053 THREE.WebGLProgram: shader error: 0 gl.VALIDATE_STATUS false gl.getProgramInfoLog invalid shaders
ERROR: 0:269: 'mapTexelToLinear' : no matching overloaded function found
ERROR: 0:269: '=' : dimension mismatch
ERROR: 0:269: 'assign' : cannot convert from 'const mediump float' to 'highp 4-component vector of float'
当我使用这个
var imageTexture = THREE.ImageUtils.loadTexture('/mypicture');
它可以工作,但是当我尝试在CloudFront上加载图像时,出现CORS错误。
有什么想法吗?
答案 0 :(得分:2)
您要将加载程序发送到着色器,而不是纹理。
THREE.TextureLoader()load()函数返回纹理。
尝试这样的事情:
private void stopMedia() {
if (mediaPlayer == null) return;
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
}