我是WebGL的新手,并且已经在http://learningwebgl.com/blog/处查看了这些示例。我将课程中的代码复制到计算机上的文件夹中,并在下载JavaScript文件glMatrix-0.9.5.min.js和webgl-utils.js后,将课程1到4与Google Chrome本地一起工作。但是,我无法上第5和第6课。在第5课的情况下,我将文件nehe.gif下载到包含HTML和JavaScript代码的同一文件夹中,但它不起作用。我得到的只是一个黑色方块而不是带有文字的旋转立方体。
在函数initTexture()中添加了代码行:
document.write("<img src='nehe.gif' />");
检查包含文本的图像是否被读取,就像它显示在屏幕上一样,但当这条线被注释掉时,我会回到黑色方块。
我对HTML代码所做的唯一更改是将<!DOCTYPE html>
放在第一行,并删除HTML代码正文中的两个链接和
标签。
第1课到第4课可以正常使用谷歌浏览器,但不能在我的Windows计算机上使用Internet Explorer或Firefox,但我认为这是不重要的,因为第5课根本不起作用。
如果有人能就如何让第5课开始工作,我会非常感激。
答案 0 :(得分:0)
默认情况下,Chrome不允许您直接从本地文件系统下载纹理图像。
请参阅:
http://code.google.com/p/chromium/issues/detail?id=70088
http://code.google.com/p/chromium/issues/detail?id=57653
http://code.google.com/p/chromium/issues/detail?id=47416
http://code.google.com/p/chromium/issues/detail?id=31068
一些解决方法:
a) Call chrome with --allow-file-access-from-files in the command-line.
b) Run a webserver locally to supply the textures for Chrome.
c) Use Firefox for examples with textures stored on the local filesystem.