如何在Internet Explorer 11中開啟WebGL

2021-01-21 中文業界資訊站
感謝Lao3D的投遞

正如我們

上周報導的

,國外開發者Francois Remy在洩露版Windows Blue附帶的Internet Explorer 11中發現,WebGL接口已經封裝完成,但功能上還未能開放支持。在這之後,另一名開發者Rafael Rivera繼續深入挖掘,竟然發現了在此版本的Internet Explorer 11中開啟WebGL支持的方法。

實際上方法簡單地稱奇。首先你必須已經安裝了Windows 8 Blue build 9364和最新的顯卡驅動(系統自帶的顯卡驅動在OpenGL方面支持不足),然後只需要簡單地導入以下的註冊表腳本即可。

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了!

<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>

下面附上IE 11運行LearningWebGL教程第15課實例的視頻:

回顧過去,自從WebGL這項新的網頁圖形規範提出伊始,微軟就從未表露出喜色。在2011年6月,微軟更是僱傭一家歐洲安全機構對WebGL提出最強烈的質疑,認為讓網頁直接暴露給GPU是非常危險的行為。如果真要認真地從技術上講,微軟當時主要發難於跨域資源、DoS攻擊以及直接操控GPU。

雖然作為一個剛剛誕生的技術標準,WebGL的確有很多路要走,但是如此興師動眾的指責讓很多對這項新技術充滿希望的開發者感到微軟有些過分。當時開發者普遍認為微軟對於WebGL的指責不是從技術角度出發的,而是完全出於商業目的。著名的WebGL開發者和布道師Gregg Tavares更是祭出一篇題目直接帶著髒字的戰鬥檄文直斥微軟。參見:《WebGL Security and Microsoft Bullshit》

在震驚業界的斥責之後,WebGL工作組把工作重心轉移到了致力於解決安全問題上,一直到今天Khronos Group在GDC 2013上最新公布的WebGL 1.0.2標準中還是把安全放在了首位。

隨後在2012年,微軟指責WebGL的多項安全軟肋都已經取得了極為有效的解決進展:現在CORS已經可以有效的解決跨域資源的問題;而許多廠商也已經部署了GL_ARB_robustness擴展來解決DoS攻擊問題,並且WebGL工作組還在繼續尋找其他的解決辦法。至於直接操控GPU的問題,則是無法避免的,只要一種技術可以直接與GPU對話都會造成一定程度的安全威脅,在2011年於墨爾本召開的一次技術大會上,有人用相同的原理在Microsoft Silverlight 5、Adobe Flash 11和WebGL上實現了同樣的漏洞攻擊。

儘管微軟仍然對WebGL持抗拒態度,但是在2011年8月舉辦的Siggraph 2011上,卻爆出IE 10即將支持Typed Array(類型化數組)的消息。微軟拒絕了WebGL,但卻抵不住誘惑,引進了因為WebGL才誕生的Typed Array,這項技術允許開發者直接在Web上操控二進位數據。2011年12月1日,微軟IE官方博客發表了一片名為《 Working with Binary Data using Typed Arrays》的文章,正式為 IE10 引進了Type Array。

時光荏苒,微軟此後在多個場合多次被問到關於WebGL的問題,但微軟發言人永遠都是微笑的避而不答,當然有時候也會重複一下安全問題這個老梗。

2012年3月6日,在香港舉辦的World Internet Developers』 Summit活動中,微軟高級布道師Giorgio Sardo做了《切繩子遊戲的幕後故事》的演講,在提問環節中有人提出IE將會在什麼時候支持WebGL的問題,他的回答是「Not now」。令人感動的是他沒直接說「never」實在是太給面子了。

隨著WebGL的日漸成熟,越來越多的WebGL實例和應用脫引而出,微軟逐漸意識到了不管他們是否要支持WebGL,他們現在缺乏一種網頁圖形技術來讓自己的瀏覽器在網頁視覺領域和Mozilla、Google、Opera來抗衡。

2012年11月,CNET 的記者 Shankland 採訪了微軟網絡標準工作組的領導人、同時也是 W3C HTML 工作組的聯合主席 Paul Cotton。他依然用安全問題作為擋箭牌,但是卻破天荒指出IE團隊對開發者關於IE缺乏圖形API的詬病深表理解,他說:「我們依然堅持對 WebGL 的安全問題表示擔憂。如果要我們支持 WebGL,那麼就必須毫無餘地的解決這些安全問題。從 IE8、IE9 到 IE10,每次我們宣布添加新的特性的時候,都會有人反饋要求支持其他功能,而在這些人們呼籲的功能中 WebGL 絕對是位居前五位的。我們對 IE 博客上的留言非常清楚,也很明白現在的狀況。在 Web 上開發可交互的 3D 圖形的確很棒。如果我們可以解決安全問題,那我想我們會認真地尋找一種為 Web 引入 3D 圖形的方法。」

此後,Windows Blue洩露,開發者意外發現IE 11已經封裝好WebGL接口,並且可以通過註冊表開啟支持,這樣才有了本文開頭的一幕。

這正是四年盤踞龍虎鬥,微軟終將入大流!歡迎IE 11加入WebGL大家庭!

相關焦點

  • webgl 迷宮項目開發總結
    收穫webgl 三個js庫webgl-utils.jswebgl-debug.jscuon-utils.js圖片加載var img = new Image();這樣可以防止webgl在渲染的時候圖片還沒加載完而出現黑屏的問題。監聽鍵盤事件保證事件代碼只運行一次。否則會重複綁定多個事件,也就是按鍵一次會觸發多次事件處理。
  • WebGL 入門-原生API介紹
    由於WebGL 規範仍在開發中,因此上下文仍處於「實驗」階段。當前,大部分瀏覽器都使用語法 canvas.getContext("experimental-webgl") 來獲取 WebGLRenderingContext。
  • WebGL 1.0標準規範正式公布 3D網際網路開啟
    GDC 2011遊戲開發者大會上,Khronos Group組織今天終於公布了WebGL 1.0標準規範的最終正式版,在HTML5標準網絡瀏覽器中不需要額外插件就能實現3D圖形硬體加速。
  • internet是什麼意思
    internet的中文釋義為網際網路;網際網路。短語:on the internet,在網上。例句:Distance is no problem on the Internet.在網際網路上距離已不成為問題。internet 英 [ˈɪntənet] 美 [ˈɪntərnet]n.
  • 八大瘋狂的 HTML5 Canvas 及 WebGL 動畫效果
    在過去的幾年中,我們想要製作卓越的網頁動畫只能使用Flash和Java Applet。而現在,使用腳本語言和渲染器在瀏覽器中實現瘋狂的動畫效果已經成為可能。究其原因,大概有以下幾點: 處理器的性能越來越高。我們的電腦已經有足夠的強大的能力去渲染最為複雜的動畫效果。 現在瀏覽器和web技術的不斷發展。
  • China To Launch The First Internet Court In Hangzhou
    As to the reason why the first internet court is launched in Hangzhou, "People's Court Daily" speculates that: on the one hand, as an economically-developed city of the internet industry, Hangzhou
  • WebGL 3D程序開發
    WebGL全稱Web Graphics Library,是一項新的Web 3D圖形標準,一種3D繪圖協議,也是HTML5大家庭中的一員,一項用來在網頁上繪製和渲染複雜三維圖形(3D圖形),並允許用戶與之交互的技術。
  • webgl、Javascript、HTML、ThingJS、cesium都是什麼鬼?
    webgl——是一種3D繪圖協議,這種繪圖技術標準允許把JavaScript和OpenGL ES 2.0結合在一起,通過增加OpenGL ES 2.0的一個JavaScript綁定,WebGL可以為HTML5。Canvas提供硬體3D加速渲染,這樣Web開發人員就可以藉助系統顯卡來在瀏覽器裡更流暢地展示3D場景和模型了,還能創建複雜的導航和數據視覺化。
  • Navigating the Internet in China: Top Concerns for FIEs
    China Briefing looks at how companies can develop an effective internet strategy for doing business in China.
  • SpaceX's Starlink internet service now has more than 10000 users
    SpaceX's satellite-based Starlink internet service currently has
  • 令人激動的新興 Web 技術:WebGL和SVG
    http://dev.opera.com/articles/view/an-introduction-to-webgl/作者 Luz Caballero,簡介可以獲得的各種庫。  Raw WebGL 101。http://dev.opera.com/articles/view/raw-webgl-part1-getting-started/適合那些不使用庫的用戶。
  • 千萬別翻譯成 internet red
    如果你直譯成「internet red」外國人肯定會一臉懵圈的其實我們所說的「紅人」「名人」在英語裡可以用celebrity來表達celebrity /slebrti/someone who is famous especially in areas of entertainment(娛樂圈的名人)所以網絡紅人就可以說成 internet celebrity
  • 德國賽艇運動員鮑裡斯· 赫爾曼開啟法國不靠岸單人環球航海挑戰
    德國著名賽艇運動員鮑裡斯· 赫爾曼 (Boris Herrmann) 已經於2020年11月8日起開啟新一輪環球航海挑戰,正式參加法國旺底 (帆迪)不靠岸單人環球航海賽 (Vendée Globe)——這位39歲的德國海員所專注的不僅是將一生的夢想變為現實,也不僅是兇險莫測的遠海極限探險——他還將積極協助氣候變化研究。
  • Activiti 5.11 發布,業務流程管理 - OSCHINA - 中文開源技術交流...
    歷史變量查詢功能增強:在5.11之前的版本中變量和表單屬性(表單的欄位,動態表單和外置表單)保存在同一張表中ACT_HI_DETAIL,以DETAIL的TYPE區分(FormProperty和VariableUpdate);在5.11中把兩者做了分離,
  • 基於webgl的三維室內空間邏輯建模 three.js ThingJS
    如何對室內空間進行劃分呢?整個建築是室內空間的主體,建築是由外部輪廓和各樓層組成的,如圖所示。外輪廓建築的外部輪廓也是整個室內空間的外部輪廓,它是室內空間與外部空間的分界線,即建築輪廓以內為整個室內空間。人們若想由室外空間到達室內空間就必須通過輪廓上固定的通道。
  • BMW發展取得重要成果 即將開啟礦池
    開啟礦池新金礦! 【挖礦時間】2020年10月9日 【最低持幣數量】100 BMW 【挖礦方式】1. 在奇點交易所持有100+的BMW即可參與挖礦,奇點APP下載連結:http://download.sgy.plus/#/download(請在瀏覽器中打開)2. imBMW寶馬錢包將於近期上線,上線後用戶在錢包持有BMW也可參與挖礦。 【挖礦說明】1.
  • 11月最後一天,在絢麗朝霞中開啟
    11月的最後一天在絢麗的朝霞中開啟11月30日清晨北京上空出現朝霞 蔚為壯觀早起的你是不是也收到了這份特殊的禮物橙紅朝霞暈染著天空襯託著日出宛如大自然打翻的顏料盤城市開始漸漸甦醒一切是那樣靜謐、安詳11月30日,在北京的清晨時分,天空中出現美麗朝霞,色彩斑斕繽紛,一片流光溢彩,場面十分震撼,仿佛是大自然打翻了的顏料盤一樣。
  • 如何用Eclipse中插件SQLExplorer開發資料庫
    第1頁第2頁   本文介紹如何利用Eclipse插件SQLExplorer在Eclipse中連接各種資料庫進行操作使用。  這樣,如果你下載了多個插件就可以如法炮製建立多個Link文件,想加載哪個插件就把哪個插件的Link文件放到%ECLIPSE_HOME%\links的目錄中即可,使用與管理都很方便,建議千萬不要放在默認的安裝目錄中;  3、如果你的%ECLIPSE_HOME%與此不同,請修改XYZ.link文件裡的路徑  刪除,關閉Eclipse
  • 基於WebGL的虛擬太陽系漫遊技術實現 ThingJS 科幻片
    系統實現步驟3D可視化技術逐漸應用到現代多媒體的課堂教學中。虛擬太陽系是一款天文類的3D可視化應用,它藉助3D在線瀏覽,模擬了一個「真實」的太陽系,以太陽為中心,八大行星逆時針圍繞太陽公轉,還有很多衛星繞轉在行星或者小天體周圍。ThingJS平臺在線提供教學演示連結,在中小學生的地理課堂或網上天文館作為虛擬課程案例使用。以下是具體需求分析。
  • 外刊中是如何描述粉絲追星文化的?
    On the internet, where debate and organising are usually tightly controlled, fanquan enjoy rare freedom to do both.