by zhangxinxu from http://www. 一、前面的所以然技術(shù)的發(fā)展日新月異,說不定回家釣幾天魚,就出來個新東西了。新事物新技術(shù)發(fā)展的初期,你無法預(yù)見其未來之趨勢,生命誠可貴,沒有必要花過多時間深入研究這些新東西,不過,知道了大概,了解個全貌還是很有必要的。雖不是時代締造者,也不至于落后于時代發(fā)展大潮。 互聯(lián)網(wǎng)的發(fā)展相當(dāng)?shù)纳袼?,其他不說,就前端技術(shù)這塊,出現(xiàn)的些新名詞或生名詞就讓人眼花繚亂,應(yīng)接不暇,比如說:HTML5 Canvas, WebGL, CSS Shaders, GLSL等。你是否有這樣的疑問:這些都是些什么玩意?是喜歡打醬油還是客串CCTV群眾演員?他們之間是否有曖昧,或是跨輩分的恩怨情仇? 好吧,我就八卦下這些前端前沿技術(shù)相關(guān)名字。 二、各自廬山面目HTML5 Canvas 目前在web實際項目中已有不少應(yīng)用。例如圖像的旋轉(zhuǎn),圓角的生成等。低版本的IE瀏覽器不支持該元素,還在可以通過調(diào)用如下JS可以讓其支持部分canvas的功能:excanvas.js OpenGL OpenGL使用簡便,效率高。它具有七大功能:建模、變換、顏色模式設(shè)置、光照和材質(zhì)設(shè)置、紋理映射(Texture Mapping)、位圖顯示和圖象增強(qiáng)圖象功能和雙緩存動畫(Double Buffering)。 具體可參見OpenGL百科 WebGL 由于webgl是基于OpenGL和JavaScript技術(shù)結(jié)合,而OpenGL與微軟DirectX存在著競爭關(guān)系,而且微軟自身也開發(fā)了Silverlight插件,與webgl其實是類似的,所以微軟對webgl技術(shù)并不支持。這很好理解,好比五阿哥和爾康在爭奪心愛的容嬤嬤之前是不可能相互擁抱的。 微軟的不支持并不影響webgl的發(fā)展,隨著firefox、谷歌和蘋果等加入,webgl也開始出現(xiàn)了各種應(yīng)用。例如小有名氣的基于webgl技術(shù)的谷歌人體瀏覽器(Google Body Browser)實驗項目,用戶可以查看3D人體結(jié)構(gòu)(下圖來自cnbeta)。 GLSL CSS Shaders Shader(著色器)可以理解為是一種運(yùn)行于顯卡端的小程序,通常用于游戲和其他圖形相關(guān)的應(yīng)用。著色器有兩種,一種是頂點著色器,用于控制幾何體的頂點以繪制出3D表面網(wǎng)格;另一種是片元著色器,用于控制像素的顏色。CSS Shaders技術(shù)將允許開發(fā)者同時使用頂點著色器和片元著色器。 在CSS中使用著色器可以制作出很多吸引眼球的動態(tài)效果。 Adobe展示了一些Demo視頻,在第一個視頻中Twitter的頁面被渲染成了彎曲的表面;第二個視頻更加有趣,將Google地圖和街景渲染折疊了起來,像真的紙質(zhì)地圖那樣。因為著色器可以作用于所有HTML內(nèi)容,所以CSS Shaders渲染的元素包括了普通的表格、SVG甚至是HTML5 Video等等。 CSS目前已經(jīng)可以制作一些3D動畫效果,但是著色器這個關(guān)鍵角色的加入,將使這項技術(shù)變得更加靈活,提高了可編程性。CSS Shaders可以與Adobe Edge配合使用,制作出更多動態(tài)效果的網(wǎng)頁。Adobe稱未來Edge將擁有更強(qiáng)的表現(xiàn)力,而CSS Shaders正是為了達(dá)到這個目的而推出的。 CSS Shaders內(nèi)置了一些常用的濾鏡,包括設(shè)置模糊、陰影、色調(diào)、翻轉(zhuǎn)、灰度、透明度、Gamma值等。另外也允許開發(fā)者自己編寫著色器代碼,使用的語言——不出所料,和WebGL一樣——是GLSL。 有人可能會疑問,貌似CSS Shaders跟WebGL作用和接近,使用語言也一致,會不會發(fā)生沖突啊。根據(jù)Adobe的某些人員的說法,WebGL只能作用于一個Canvas,而CSS Shaders適用于任何Web內(nèi)容。CSS的本意就是用來定義網(wǎng)頁樣式的,Shader的加入毋庸置疑可以大大增加靈活度,讓開發(fā)者有更多的方式去創(chuàng)造出更具想象力的網(wǎng)頁。兩者是沒有沖突滴~~ 目前,貌似沒有瀏覽器鳥這廝,俺們需要靜觀些時日。 三、關(guān)系整理上面的表述中多少透露個各個名詞之間的關(guān)系。所謂一圖勝前言,什么媽媽的二姑的三舅媽的小外孫家的一條狗身上的虱子之類的話就免了,直接上圖: 恩,為避免嘮叨之嫌,其他我就不多說什么了。 四、文章提及&參考頁面· HTML 5 Canvas 原創(chuàng)文章,轉(zhuǎn)載請注明來自張鑫旭-鑫空間-鑫生活[http://www.] (本篇完) 如果您覺得本文的內(nèi)容對您的學(xué)習(xí)有所幫助,您可以支付寶(左)或微信(右):
相關(guān)文章
分享到:
標(biāo)簽: canvas, CSS Shaders, GLSL, HTML5, OpenGL, WedGL, 濾鏡 這篇文章發(fā)布于 2011年10月10日,星期一,17:14,歸類于 canvas相關(guān)。 閱讀 29637 次, 今日 10 次 |
|