如何在 Internet Explorer 11中开启 WebGL

原文地址:http://www.hiwebgl.com/?p=1210javascript

 

国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,WebGL接口已经封装完成,但功能上还未能开放支持。在这以后,另外一名开发者Rafael Rivera继续深刻挖掘,居然发现了在此版本的Internet Explorer 11中开启WebGL支持的方法。java

实际上方法简单地称奇。首先你必须已经安装了Windows 8 Blue build 9364和最新的显卡驱动(系统自带的显卡驱动在OpenGL方面支持不足),而后只须要简单地导入如下的注册表脚本便可。web

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应用的习惯。canvas

目前IE 11对WebGL的支持度仍然很是有限,你能够把一下代码另存为HTML文件,而后在IE 11中打开,你会发现网页中出现一片蓝色的区域,而这正表明着网页成功得到了名为“experimental-webgl”的3D绘制上下文——Internet Explorer 11终于支持WebGL了!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>
相关文章
相关标签/搜索