Javascript WebGL texParami设置导致纹理渲染为黑色

Javascript WebGL texParami设置导致纹理渲染为黑色,javascript,opengl-es,textures,webgl,Javascript,Opengl Es,Textures,Webgl,所以这个问题与之前在 我在渲染纹理时遇到了问题,这是2的偶数次方(尽管在上一篇文章中建议进行更改) 我放了一个叉子,在玩了几个图像之后,似乎有些纹理渲染了,有些没有。具体来说,这在代码中有详细说明 image.src = 'https://lh4.googleusercontent.com/-Y2gO2Ex8Q10/T588LBJKq7I/AAAAAAAAgzc/XKpph-vQWiw/s686/_DSC4127+-+Version+2.jpg'; // The original text

所以这个问题与之前在

我在渲染纹理时遇到了问题,这是2的偶数次方(尽管在上一篇文章中建议进行更改)

我放了一个叉子,在玩了几个图像之后,似乎有些纹理渲染了,有些没有。具体来说,这在代码中有详细说明

image.src = 'https://lh4.googleusercontent.com/-Y2gO2Ex8Q10/T588LBJKq7I/AAAAAAAAgzc/XKpph-vQWiw/s686/_DSC4127+-+Version+2.jpg';   
// The original texture runs fine

image.src = 'http://webglfundamentals.org/webgl/resources/f-texture.png'
// As does this texure from WebGLFundamentals

image.src = 'http://www.html5canvastutorials.com/cookbook/ch9/1369_09_06/crate.jpg';
// But the crate texture does not want to show

image.src = 'https://dev.opera.com/articles/raw-webgl-part-2-simple-shader/figure3.png'
// Neither does this Red-Green-Yellow gradient
就能够正确渲染纹理而言,JSFIDLE代码中缺少了什么

我知道这不是一个问题的形象,它必须是一个设置的地方,因为它的工作在正确的页面位于

任何帮助都将不胜感激


谢谢。

您在跨来源资源共享方面遇到问题

在开发工具控制台输出中,您可以看到:

来自原点的图像'http://www.html5canvastutorials.com'已被跨源资源共享策略阻止加载:请求的资源上不存在'Access Control Allow Origin'标头。起源'http://fiddle.jshell.net因此,不允许访问。
出于安全原因,您只能通过设置
访问控制允许来源
标题,从您自己的域或专门允许的域加载图像

只有
lh4.googleusercontent.com
dev.opera.com
上的图像返回标题
Access Control Allow Origin::
并且是唯一有效的图像

您需要在自己的服务器上托管图像,或者如果需要从任意URL加载图像,则需要在服务器上安装图像代理

如果您只是在玩WebGL,您可以将图像用作:

http://crossorigin.me/http://www.html5canvastutorials.com/cookbook/ch9/1369_09_06/crate.jpg

您可以阅读更多关于CORS和