`
wjlgryx
  • 浏览: 313264 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebGL教程0:准备阶段

阅读更多

测试WebGL的第一步是要得到一个支持WebGL的浏览器;WebGL被研发中的所有主流浏览器所支持,除了IE浏览器,所以你需要做的就是获得一个适合你机器的浏览器版本。这一步是否容易得根据你电脑的具体情况了:
Windows:
1、如果你的电脑上安装了最近的ATI显卡或Nvidia显卡,你的情况会更好点。继续尝试下安装Firefox或是Chromium,无论你喜欢哪一种——如果不能正常运行,请浏览下面的故障查找向导。
2、如果你用的是Intel的显卡芯片(也包括笔记本),这样情况会稍微好点。Intel提供的显卡驱动不是非常地支持OpenGL,而现在浏览器支持WebGL运行是通过OpenGL的(这个在今后将会发生改变)。你也许想要尝试上面的说明安装Firefox或者Chromium,但是它们将很有可能不会运行WebGL。如果是这种情况的话,你现在最好的选择是使用带有软件渲染的Firefox(也就是说3D图像通过CPU来运算,而不是靠显卡运算)。这种方法运行起来将会慢一点,但是至少你能够将一些WebGL文本运行出来!
Macintosh:
如果你正在使用Snow Leopard (OS X 10.6),情况将会好点;我推荐使用WebKit的开发版,这个可以作为Safari的一个可选版本运行。如果你正在使用Leopard (OS X 10.5),你将不能使用这种WebKit,但是你能使用Firefox或者Chromium。Snow Leopard用户当然也能使用Firefox或者Chromium。如果你在用老版本的OS X,非常不幸,现在我还不知道任何一个你能用的WebGL浏览器。
Linux:跟Windows的情况非常相似:
如果你的设备是ATI卡或是Nvidia卡,并且是最近的驱动,这样运行Firefox或是Chromium都一样的好。
如果你是Intel显卡,就像Windows用户一样你有可能不得不用缓慢的软件来渲染;尝试Firefox或是Chromium,但是它们默认情况下为硬件渲染,很有可能不能运行WebGL。为了在Linux上运行软件渲染,您需要确定安装了Mesa(您仅仅需要通过使用您的distro’s package manager获得最新版本),然后将最新版本的Firefox进行一些额外的设置。
Firefox
Firefox发布的不稳定的开发版被称为Minefield。Minefield每天晚上都更新,实际上它现在比较稳定了:最近我还没有看到它崩溃(我用它来运行任何文件)。它也能够和Firefox普通的版本同时安装,因此你不需要担心卸载它如果你放弃使用它或是仅仅想要一段时间回归到以前普通版本。
获得Minefield:
1、进入每夜构建页面并且下载适合你机器的版本。注意:这儿有很多版本,名字像firefox-4.0b8或是firefox-4.0b9。您想要最新的版本,“b”后面的数字也就越大。
2、安装它(当安装时您需要阻止任何在Firefox上运行的程序)。
3、启动Minefield。
4、在地址栏输入“about:config”(译者注:切换为英文模式输入“about:config”)。
5、找到“webgl”。
6、将“webgl.enabled_for_all_sites”的值改为“true”。
(感谢Vladimir Vukicevic提供相关信息。)
下一步,点击这里进入WebGL页面
http://www.web3dmarket.com/html/demo.html
在Windows上运行Minefield的软件渲染
如果你的显卡不支持OpenGL 2.0,现在在你的机器上运行WebGL文本的唯一方法是使用一个叫Mesa的库。Mesa基本上仿效了软件里面的显卡,所以运行起来有一点慢——但是这总比不能运行要好!它和Minefield整合到了一起,Minefield就是Firefox的“不稳定”开发版,要使得它们在Windows上全运行起来:
1、进入每夜构建页面并且下载适合你机器的版本。
2、安装它(当安装时您需要阻止任何在Firefox上运行的程序)。
3、下载这个版本的Mesa库,由Mozilla的Vladimir Vukicevic友情提供。
4、解压这个Mesa zip文件:它包括一个DLL文件,文件名为“OSMESA32.DLL”,您只需把它放在你机器的任何一个地方。
5、启动Minefield。
6、在地址栏输入“about:config”,进入“about:config”页面。
7、找到“webgl”栏。
8、将“webgl.enabled_for_all_sites”的值改为“true”。
9、将“webgl.osmesalib”的值设为指向你的“OSMESA32.DLL”路径。例如,如果你把它放在目录“C:\temp”下,你需要将“webgl.osmesalib”设为“C:\temp\osmesa32.dll”。
10、将“webgl.software_rendering”的值变为“true”。
(再次感谢Vladimir Vukicevic提供相关信息,并且提供 osmesa library。)
一旦你完成了上述步骤,你就可以测试了。点击这里来测试一下WebGL网页。
在Linux上运行Minefield的软件渲染
如果你的显卡不支持OpenGL 2.0,现在在你的机器上运行WebGL文本的唯一方法是使用一个叫Mesa的库。Mesa基本上仿效了软件里面的显卡,所以运行起来有一点慢——但是这总比不能运行要好!它和Minefield整合到了一起,Minefield就是Firefox的“不稳定”开发版,它也通常是你的LInux distro的一部分。这儿介绍怎样使它们运行起来:
1、下载最新版本的Minefield;
2、安装它(当安装时您需要阻止任何在Firefox上运行的程序);
3、使用你的Linux distro’s package manager,确定你安装了Mesa并且更新为最新版本;
4、启动Minefield;
5、在地址栏输入“about:config”(译者注:切换为英文模式输入“about:config”);
6、找到“webgl”;
7、将“webgl.enabled_for_all_sites”的值改为“true”;
8、将“webgl.software_rendering”的值变为“true”;
9、设定“webgl.osmesalib”为您OSMesa分享库的地址(通常像这样/usr/lib/libOSMesa.so)
10、到2010年2月9号为止,我仍然建议您也设置“dom.ipc.plugins.enabled”为“false”——禁用最新添加的特性,我发现这个特性很容易造成你的浏览器被锁住,尤其是当使用一个显示PDF文件不可见标签的时候。
一旦你完成了上述步骤,你就可以测试了。点击这里来测试一下WebGL网页。
Safari
记住,Safari只支持WebGl在Mac Snow Leopard (OS X 10.6)上运行;如果你在用Leopard (10.5)、Windows或是Linux,你将不得不使用Firefox或是Chromium(如果你使用一个老版本的OS/X,我不知道你能够使用的任何一种WebGl浏览器)。
如果你在使用Snow Leopard,为了运行它,你需要:
1、确定你使用的是至少4版本的Safari;
2、下载和安装WebKit nightly build;
3、启动Terminal,在里面运行如下命令:
     defaults write com.apple.Safari WebKitWebGLEnabled -bool YES
4、运行新安装的Webkit应用程序。
(感谢Chris Marrin提供相关信息)
下一步,点击这里进入WebGl页面。
http://www.web3dmarket.com/html/demo.html
Chromium
Chrome开发者最近建议你在Chrome运行WebGL的方法是使用每夜构建Chromium,Chrome就是以这个开源浏览器为基础的。设置的步骤对于每一个支持的操作系统有一点的不同;这儿是一些介绍:Windows、Macintosh和Linux(注意——我自己仅仅在Windows上试过,但我被告之在其它操作系统上运行也很好。如果有错误的地方请在下面给我留言)。
对于Windows
1、进入连续整合页面下载chrome-win32.zip;
2、在最方便的地方解压这个文件;
3、在这个解压包里,双击“chrome.exe”文件。
对于Macintosh
1、进入连续整合页面下载chrome-mac.zip;
2、在最方便的地方解压这个文件;
3、打开Terminal窗口,进入刚才解压得到的chrome-mac目录;
4、确定你现在没有运行Chrome;
5、运行下面的命令:
     ./Chromium.app/Contents/MacOS/Chromium
6、一旦你检查到这个是能运行的,你可能想让这运行起来更自动化一点以至于您不用每次都得输入命令;在留言里面,Julien Limoges提供了一个很有用的shell script来处理它。
对于Linux
1、如果你使用32-bit Linux,到the 32-bit continuous integration latest build page 下载 chrome-linux.zip。如果你使用64-bit版本,您可以到the 64-bit continuous integration latest build page下载 chrome-linux.zip。
2、在方便的地方解压它,打开解压的 chrome-linux 目录;
3、确定现在没有运行Chrome;
4、运行下面的命令:
     ./Chromium
(感谢Mohamed Mansour 提供相关信息,感谢 Ehsun Amanolahi提供最新Chrome Linux 64-bit 下载链接。)
下一步,点击这里进入WebGl页面。http://www.web3dmarket.com/html/demo.html

故障处理
我没有任何有用的建议关于让WebGL在Macs上运行,因为以前没有人问过我关于这方面的帮助,我认为我以前在论坛里也没有看见过这样的问题。我只能推断这意味着在OSX上都能运行……
对于Windows和Linux用户:WebGL不能运行的最普遍的原因是(除了没按照上述说明操作的错误)显卡的问题。所有当前的浏览器完成WebGL是以OpenGL为基础的(这个很有希望在将来的某个时候会改变),OpenGL是靠你的显卡驱动支持的。如果你用的是Intel显卡,并且你按照上面的说明对于Windows和对于Linux操作,最后还是不能工作,请在下面给我留言,我将尝试帮助解决。
如果你用的是ATI卡或是Nvidia卡,第一件事就是检查你机器上运行的OpenGL版本。对于Windows,GLview是一个极好的工具来让你得到相关信息。在Linux上,仅仅需要运行glxinfo来查找头为“OpenGL version string”的语句。如果你看到的版本数比2.0要小,你需要更新你的驱动。查看你的电脑制造商的网站,看看Windows更新或是你的 Linux distro’s package manager。
如果你仍然不能让WebGL运行,很有可能是OpenGL驱动不能被您的显卡和操作系统所利用。您现在最好的选择是使用软件渲染。这儿是关于Windows和Linux的说明。

 

分享到:
评论

相关推荐

    HTML5 Game Development For Dummies电子书

    Three.js提供了大量的示例和教程,帮助开发者快速上手。 3. **Construct 3**:Construct 3是一款强大的HTML5游戏编辑器,它采用拖放式的界面,非常适合没有编程经验的新手。Construct 3支持多种游戏类型,并且可以...

    Tizen泰泽游戏开发教程.rar

    《Tizen泰泽游戏开发教程》是一份专为开发者准备的详细指南,旨在帮助他们掌握在Tizen操作系统上构建游戏的技巧和最佳实践。Tizen是一个开源、跨平台的智能设备操作系统,由三星电子和英特尔共同开发,广泛应用于...

    VRML的基础教程

    - **准备阶段**: - **文本编辑器**:选择合适的文本编辑器(如Notepad++、Sublime Text等)。 - **VRML浏览器**:安装兼容的VRML浏览器,如CosmoPlayer、Microsoft VRML Viewer等。 - **硬件要求**:确保计算机...

    Phaser库文件

    1. **渲染引擎**:支持WebGL和Canvas两种渲染方式,可以根据浏览器能力自动选择最佳方案,确保游戏在各种设备上都能流畅运行。 2. **精灵和动画**:Phaser提供了强大的精灵和动画系统,可以轻松创建和管理游戏中的...

    CityEnigne 实例 2Dto3D

    1. 数据准备:这个阶段包括收集二维数据,如地图、航拍图像或GIS数据。这些数据可能包含街道网络、建筑物轮廓线、地形高度等信息。CityEngine支持多种数据格式导入,如Shapefile、DXF、KML等。 2. 规则定义:在City...

    game:第一次尝试 Phaser

    这个“game:第一次尝试 Phaser”的项目很可能是初学者的一个入门教程,旨在帮助开发者熟悉Phaser的基本用法。 Phaser的亮点在于它提供了一个全面的库,包含了游戏开发所需的各种组件,如精灵(Sprites)、动画、...

    PhaserTutorial:使用Phaser框架创建基于浏览器的游戏的框架

    场景是游戏的不同阶段,比如加载屏幕、主菜单、游戏关卡等。游戏对象则包含了游戏中的所有元素,如精灵(Sprites)、文本、按钮等。通过灵活地组织和管理这些元素,你可以构建出复杂的游戏逻辑。 在开始Phaser游戏...

    fullstack-utrecht-meetup-livecode

    "尚未准备好生产(完全)"意味着这个项目可能仍处于原型或试验阶段,尚未达到可用于实际生产环境的完善程度。 【标签】"HTML" 指出这个项目至少涉及到HTML(超文本标记语言),它是网页开发的基础,用于构建网页...

Global site tag (gtag.js) - Google Analytics