1

我对 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 课可以在 Google Chrome 上正常运行,但不能在我的 Windows 计算机上的 Internet Explorer 或 Firefox 上运行,但我认为这不是重点,因为第 5 课根本不起作用。

如果有人能给我一些关于如何让第 5 课发挥作用的建议,我将不胜感激。

4

1 回答 1

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.
于 2013-08-08T06:39:50.563 回答