欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)

這篇文章主要介紹了WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10多年的沐川網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整沐川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“沐川網(wǎng)站設(shè)計”,“沐川網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

WebGL可以加載圖片紋理,圖片可以根據(jù)設(shè)定的坐標(biāo)變化,設(shè)置圖片的尺寸等等。

一般在加載圖片的時候,關(guān)鍵的是設(shè)置圖片的像素位置坐標(biāo),如下邊的坐標(biāo)形式,按照順序排列圖片的位置。

WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)

圖片的像素位置設(shè)置好以后,設(shè)置圖片的尺寸,默認(rèn)可以根據(jù)圖片的長和寬進行加載,當(dāng)x1和y1是0,0的時候,從左上角進行圖片的加載,要想離開一點可以將x1和y1值調(diào)大些。

WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)

WebGL的vertex-shader(頂點著色器)中,需要將屏幕坐標(biāo),變換成渲染空間的坐標(biāo),下邊一段是從WebGL基礎(chǔ)網(wǎng)站復(fù)制下的,直接可以用,上邊有英文說明。

                        attribute vec2 a_position; 

attribute vec2 a_texCoord; 

uniform vec2 u_resolution; 

varying vec2 v_texCoord;  

void main() { 

// convert the rectangle from pixels to 0.0 to 1.0  

 vec2 zeroToOne =  a_position / u_resolution;  

// convert from 0->1 to 0->2 

vec2 zeroToTwo = zeroToOne * 2.0; 

// convert from 0->2 to -1->+1 (clipspace) 

vec2 clipSpace = zeroToTwo - 1.0; 

gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); 

// pass the texCoord to the fragment shader 

     // The GPU will interpolate this value between points.

 v_texCoord = a_texCoord;

}

WebGL的fragment-shader(片段著色器)中,我們只需要設(shè)置圖片的顏色即可了,這也是參照webgl基礎(chǔ)網(wǎng)站的代碼。

precision mediump float; 

// our texture 

uniform sampler2D u_image;

uniform vec2 u_res; 

       //the texCoords passed in from the vertex shader. 

        varying vec2 v_texCoord; 

void main() 

{  

             gl_FragColor = texture2D(u_image, v_texCoord);  

 }

當(dāng)然說了以上這些,加載一張圖片還是比較簡單的,如果下邊的背景是一個地圖控件的話,如何讓加載的圖片和地圖進行聯(lián)動配準(zhǔn)。

下邊簡要說一下思路:

一般地圖都是按照web墨卡托進行切片的,第一級的切片尺寸是256*256,對應(yīng)的經(jīng)緯度范圍是[-180,-90,180,90],根據(jù)這些我們就能換算第一級的時候,經(jīng)緯度在第一級的切片像素位置,具體的算法參照以下的網(wǎng)址。

// -- converts latlon to pixels at zoom level 0 (for 256x256 tile size) , inverts y coord )

// -- source : http://build-failed.blogspot.cz/2013/02/displaying-webgl-data-on-google-maps.html

根據(jù)地圖的四至范圍,使用的是左上角的坐標(biāo),就能換算出來對應(yīng)在第一級切片的像素位置。這樣就能構(gòu)建地圖的變換矩陣translateMatrix,再根據(jù)地圖的縮放級別,構(gòu)建地圖的縮放矩陣scaleMatrix,在地圖發(fā)生變化的時候,往vertex-shader中傳遞矩陣,用矩陣和坐標(biāo)進行相乘,就能使坐標(biāo)發(fā)生變化,從而使圖片進行覆蓋變化。

gl_Position =u_matrix * a_position;

白色的圖片是以半透明加載上去的,在地圖移動時進行變化,半透明要改變shader中的顏色透明度。

 gl_FragColor = vec4(floor(255.0 * color * 0.75) / 255.0);

WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)

webgl加載圖片的效率也是相當(dāng)高的,上邊圖片的大小是6M左右。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)站題目:WebGL開發(fā)中如何實現(xiàn)加載圖片配準(zhǔn)
文章位置:http://aaarwkj.com/article42/ijhcec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、電子商務(wù)搜索引擎優(yōu)化、網(wǎng)站設(shè)計服務(wù)器托管、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
国产综合欧美日韩在线91| 人人爽久久爱夜夜躁一区| 亚洲中文字幕视频在看| 国产美女口爆吞精久久| 在线观看高清欧美国产视频| 国产日韩综合精品一区| 亚洲激情午夜福利视频| 台湾三级一区二区三区| 日韩x级av免费在线观看| 国产真实乱偷精品视频免| 欧美日韩在线一区2区| 国产精品久久亚洲一区二区| 亚洲成人精品久久久| 午夜精品一区二区三区在线视频| 日韩精品熟女一区二区三区| 国产我和子的乱视频亲生| 韩国av一区二区三区| 男人一插就想射的原因| 亚洲成人大片免费在线观看| 国产精品久久一级黄片| 亚洲免费一区二区三区精品| 精品中文字幕欧美区一区| 日韩欧美国产麻豆91在线精品| 久久欧精品欧美日韩精品| 亚洲av二区三区成人| 精品人妻一区二区三区蜜桃电| 五月激情丁香婷婷色网| 哪里可以看黄色片日韩| 国产亚洲高清国产拍精品| 久久综合婷婷亚洲五月| 亚洲欧美日韩综合一区| 97高清视频在线观看| 插美女逼免费视频导航| 天天操夜夜操狠狠操91| 日韩三级成人在线视频| 欧洲亚洲国产一区二区| 在线激情av中文字幕| 亚洲日本一区二区一本一道| 久久激情日本人妻av免费| 亚洲一区制服无码中文| 中午字幕人妻少妇久久|