第5课不在本地工作

时间:2013-08-08 04:53:07

标签: webgl

我是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课开始工作,我会非常感激。

1 个答案:

答案 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.