WebGL概論(webgl 原理)
什么是WebGL
簡(jiǎn)單來(lái)講,WebGL是新一代Web上的3D圖形規(guī)范,是屬于HTML5技術(shù)大家族的一員,雖然沒(méi)有寫(xiě)在官方的HTML5上,但大部分現(xiàn)代瀏覽器都支持WebGL。
WebGL未出現(xiàn)之前,我們?yōu)g覽器只能完成有限的2D體驗(yàn)。開(kāi)發(fā)者必須依靠插件或安裝下載相關(guān)軟件來(lái)實(shí)現(xiàn)3D體驗(yàn)。WebGL的出現(xiàn),將使傳統(tǒng)的2D網(wǎng)絡(luò)體驗(yàn)邁向豐富動(dòng)人的3D體驗(yàn)。
技術(shù)定義
WebGL標(biāo)準(zhǔn)是由科納斯組織開(kāi)發(fā)和維護(hù)的,該組織還管理著OpenGL、COLLADA等圖形標(biāo)準(zhǔn)規(guī)范。WebGL的官方定義是這樣的:
>WebGL是免授權(quán)費(fèi)的,跨平臺(tái)的應(yīng)用程序接口API,它將OpenGL ES2.0作為在HTML網(wǎng)頁(yè)內(nèi)的3D繪圖環(huán)境,作為低級(jí)別文檔對(duì)象模型接口開(kāi)放。它使用OpenGL渲染語(yǔ)言GLSL ES,并可被整潔地與其他3D內(nèi)容上層或下層的網(wǎng)頁(yè)內(nèi)容捆綁。它是使用JavaScript編程開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)適合動(dòng)態(tài)3D網(wǎng)頁(yè)應(yīng)用的理想工具,并已被主流互聯(lián)網(wǎng)瀏覽器集成。
簡(jiǎn)單做以下理解:
1、WebGL是一套JavaScript編程接口
WebGL是JavaScript編程接口,并不依賴(lài)于HTML而存在。它的3D渲染與使用canvas元素的2D繪畫(huà)類(lèi)似,所有功能通過(guò)JavaScript API調(diào)用。只要會(huì)使用canvas元素,在此基礎(chǔ)上設(shè)置一個(gè)特殊的繪制上下文即可。
2、WebGL是基于Open ES 2.0的
OpenGL ES是3D渲染標(biāo)準(zhǔn)OpenGL的精簡(jiǎn)版本,它是專(zhuān)門(mén)為小型計(jì)算機(jī)設(shè)備量身定制的,目前主流的手機(jī)和平板電腦都使用了OpenGL ES進(jìn)行3D渲染,WebGL基于OpenGL ES制定,更有利于打造一個(gè)跨系統(tǒng)、跨平臺(tái)、跨瀏覽器的3D Web標(biāo)準(zhǔn)。
3、WebGL和其他網(wǎng)絡(luò)內(nèi)容可以融合在一起
WebGL可以和HTML標(biāo)簽搭配使用。你可以用傳統(tǒng)的HTML元素制作常規(guī)的2D界面,使用WebGL來(lái)開(kāi)發(fā)自己的3D圖形,瀏覽器會(huì)2D、3D圖形有效地整合在一起,提供給用戶(hù)。
4、WebGL用于搭建動(dòng)態(tài)Web應(yīng)用
WebGL是為Web交互而生,能夠很好地與Web瀏覽器整合、與JavaScript協(xié)同工作,對(duì)于Web交互非常友好。
5、WebGL是跨平臺(tái)的
WebGL能運(yùn)行于任何操作系統(tǒng),無(wú)論是windows,還是mac os。也能運(yùn)行于任何設(shè)備,無(wú)論是手機(jī)、平板電腦,還是PC電腦、智能電視。
6、WebGL是完全免費(fèi)的
在這里展示一張圖片給大家,里面所有的3D圖新繪制和交互,都是由WebGL完成的
WebGL 3D繪圖