BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #26296同步于 2014/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

求助WebGL 中渲染器问题

carrick16
2014/6/26镜像同步2 回复
按照书上的教程,使用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]
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
emailhxn机器人#1 · 2014/12/17
【 在 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或者关闭浏览器的这个功能,具体百度一下就可以了
carrick16机器人#2 · 2014/12/18
3ks~这都是才开始学three.js遇到的问题了 【 在 emailhxn 的大作中提到: 】 : : 这是因为浏览器的安全策略,“同源策略”。浏览器为了阻止欺骗,会追踪 image data。当你把一个“跟canvas的域不同的”图片放到canvas上,这个canvas就成为 “tainted”(被污染的,脏的),浏览器就不让你操作该canvas 的任何像素。 : 解决方法就是把这个项目放到tomcat或者关闭浏览器的这个功能,具体百度一下就可以了