无法加载纹理与巴比伦。Chrome上的js
-
20-12-2019 - |
题
当我尝试使用Babylon将图像添加到3d球体时。js,我得到错误 Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': Tainted canvases may not be loaded.
这就是我编写代码的方式。我已经按照教程 这里 在我尝试改变纹理之前,一切都很有效。
//Creation of spheres
var sphere1 = BABYLON.Mesh.CreateSphere("Sphere1", 10.0, 6.0, scene);
var sphere2 = BABYLON.Mesh.CreateSphere("Sphere2", 2.0, 7.0, scene);
var sphere3 = BABYLON.Mesh.CreateSphere("Sphere3", 10.0, 8.0, scene);
//Positioning the meshes
sphere1.position.x = 10;
sphere3.position.x = -10;
//Textures
var sphere1texture = new BABYLON.StandardMaterial("sphere1texture", scene);
var sphere2texture = new BABYLON.StandardMaterial("sphere2texture", scene);
var sphere3texture = new BABYLON.StandardMaterial("sphere3texture", scene);
sphere1texture.alpha = 0.75
sphere2texture.diffuseTexture = new BABYLON.Texture("./texture1.jpg", scene);
sphere2
(我试图加载图像的那个)没有显示在程序中,但其他一切都很好。
另外,我尝试下载课程的源代码,发生了同样的事情,所以我猜测它与我的浏览器(Google Chrome)有关。
解决方案
您必须在web服务器上使用文件,而不是在本地使用文件,以确保没有安全问题
其他提示
仅当您的应用在本地或全局服务器上运行时,才能加载资源。如果没有,http请求就不能完成。
不隶属于 StackOverflow