原文地址:http://www.hiwebgl.com/?p=1210
国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,WebGL接口已经封装完成,但功能上还未能开放支持。在这之后,另一名开发者Rafael Rivera继续深入挖掘,竟然发现了在此版本的Internet Explorer 11中开启WebGL支持的方法。
实际上方法简单地称奇。首先你必须已经安装了Windows 8 Blue build 9364和最新的显卡驱动(系统自带的显卡驱动在OpenGL方面支持不足),然后只需要简单地导入以下的注册表脚本即可。
1 2 3 4 5 6 7 8 9 10 11 |
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl] [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_WEBGL] "iexplore.exe"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_WEBGL_HLSL_SHADERS] "iexplore.exe"=dword:00000000 |
需要特别值得注意的是其中最后一个FEATURE_WEBGL_HLSL_SHADERS的键值,如果设置为1,那么会让Internet Explorer 11使用IESL代替GLSL作为着色器语言。如果设置为0,则符合先在大多数WebGL应用的习惯。
目前IE 11对WebGL的支持度仍然非常有限,你可以把一下代码另存为HTML文件,然后在IE 11中打开,你会发现网页中出现一片蓝色的区域,而这正代表着网页成功获得了名为“experimental-webgl”的3D绘制上下文——Internet Explorer 11终于支持WebGL了!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<body onload="demo()"> <canvas style="height: 100%; width: 100%" id='webgl' /> </body> <script> var gl = {}; function demo() { var canvas = document.getElementById("webgl"); try { gl = canvas.getContext("experimental-webgl"); } catch(e) { } if (gl) { gl.clearColor(0, 0.678, 0.937, 1.0); gl.clear(gl.COLOR_BUFFER_BIT); } } </script> |