我是第一次使用x3dom(尽管我以前做过很多vrml)。
我正在尝试一个简单的例子,一个纹理的图像文件,但图像永远不会加载。下面是我看到的(使用Chrome版本43.0.2357.130M):
圆圈永远旋转,加载:1保持不变。我在另一个文件上也遇到了同样的问题(除了它有7个图像,并且消息显示“loading:7”。
这是我的代码:<!DOCTYPE html><html> <head> <meta http-equiv='Content-Type' content='text/html;charset=utf-8'></meta> <link rel='stylesheet' type='text/css' href='http://www.x3dom.org/x3dom/release/x3dom.css'></link> <script type='text/javascript' src='http://www.x3dom.org/x3dom/release/x3dom.js'></script> </head> <body> <x3d width='500px' height='400px'> <scene> <shape> <appearance> <ImageTexture url="wood11.png"><ImageTexture/> </appearance> <box> </box> </shape> </scene> </x3d>
</body></html>
图像存在并存储在同一目录中。为什么不为我加载图像?
最佳答案
它可以在mozilla firefox中工作,所以你可以在那里测试它。
chrome抛出了一个安全异常,因为服务器没有为映像提供服务。
Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext':
Tainted canvases may not be loaded.image.onload @ x3dom.js:377
你可以找到解释。
以及其他相关信息。
加载WebGL纹理受跨域访问控制。
为了让内容从另一个域加载纹理,cors
需要获得批准。有关详细信息,请参阅http访问控制
在cors上。
关于html - 为什么在X3DOM中不加载图像纹理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31216230/