返回信息流按照书上的教程,使用WebGLRenderer渲染器。但在使用该渲染器时,一旦将一个图片文件载入到纹理,运行就会报如下错误:
Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///F:/a.jpg may not be loaded.
试了很久,目前发现唯一的解决途径是把WebGLRenderer换成CanvasRenderer。那请问各位大神,为什么WebGLRenderer会出现这种问题?[ema23]
这是一条镜像帖。来源:北邮人论坛 / www-technology / #26296同步于 2014/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
求助WebGL 中渲染器问题
carrick16
2014/6/26镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 carrick16 的大作中提到: 】
: 按照书上的教程,使用WebGLRenderer渲染器。但在使用该渲染器时,一旦将一个图片文件载入到纹理,运行就会报如下错误:
: Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///F:/a.jpg may not be loaded.
: 试了很久,目前发现唯一的解决途径是把WebGLRenderer换成CanvasRenderer。那请问各位大神,为什么WebGLRenderer会出现这种问题?
这是因为浏览器的安全策略,“同源策略”。浏览器为了阻止欺骗,会追踪 image data。当你把一个“跟canvas的域不同的”图片放到canvas上,这个canvas就成为 “tainted”(被污染的,脏的),浏览器就不让你操作该canvas 的任何像素。
解决方法就是把这个项目放到tomcat或者关闭浏览器的这个功能,具体百度一下就可以了
3ks~这都是才开始学three.js遇到的问题了
【 在 emailhxn 的大作中提到: 】
:
: 这是因为浏览器的安全策略,“同源策略”。浏览器为了阻止欺骗,会追踪 image data。当你把一个“跟canvas的域不同的”图片放到canvas上,这个canvas就成为 “tainted”(被污染的,脏的),浏览器就不让你操作该canvas 的任何像素。
: 解决方法就是把这个项目放到tomcat或者关闭浏览器的这个功能,具体百度一下就可以了