成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > HTML5之WebGL 3D概述(上)—WebGL原生開發(fā)開啟網(wǎng)頁3D渲染新時(shí)代

HTML5之WebGL 3D概述(上)—WebGL原生開發(fā)開啟網(wǎng)頁3D渲染新時(shí)代

熱門標(biāo)簽:地圖標(biāo)注自己去過的地方 江蘇高頻外呼系統(tǒng)線路 電銷機(jī)器人視頻 高德地圖標(biāo)注錯(cuò)誤怎么修改 會(huì)聲會(huì)影怎樣做地圖標(biāo)注效果 標(biāo)準(zhǔn)智能外呼系統(tǒng) 搜狗星級(jí)酒店地圖標(biāo)注 平頂山電子地圖標(biāo)注怎么修改 洛陽市伊川縣地圖標(biāo)注中心官網(wǎng)

WebGL開啟了網(wǎng)頁3D渲染的新時(shí)代,它允許在canvas中直接渲染3D的內(nèi)容,而不借助任何插件。WebGL同canvas 2D的API一樣,都是通過腳本操縱對(duì)象,所以步驟也是基本相似:準(zhǔn)備工作上下文,準(zhǔn)備數(shù)據(jù),在canvas中繪制對(duì)象并渲染。與2D不同的就是3D涉及的知識(shí)更多了,例如世界、光線、紋理、相機(jī)、矩陣等專業(yè)知識(shí)。WebGL有一個(gè)很好的中文教程,就是下面使用參考中的第一個(gè)鏈接,所以這里不再班門弄斧,后面的內(nèi)容只是簡(jiǎn)單的總結(jié)一下學(xué)習(xí)的內(nèi)容。

瀏覽器的支持
由于微軟有自己的圖形發(fā)展計(jì)劃,一直不支持WebGL,所以IE目前除了安裝插件外,是無法運(yùn)行WebGL的。其他的主流瀏覽器如Chrome、FireFox、Safari、Opera等,都裝上最新的版本就可以了。除了瀏覽器要裝最新的外,還要保證顯卡的驅(qū)動(dòng)也是最新的。
裝上這些以后,可以打開瀏覽器,輸入下面的網(wǎng)址驗(yàn)證一下瀏覽器對(duì)WebGL的支持情況:http://webglreport.sourceforge.net/。

在正常安裝以上瀏覽器之后還是不能運(yùn)行WebGL,那你可以強(qiáng)制開啟WebGL支持試一試。開啟方法如下:
Chrome瀏覽器
我們需要為Chrome加入一些啟動(dòng)參數(shù),以下具體操作步驟以Windows操作系統(tǒng)為例:找到Chrome瀏覽器的快捷方式,右鍵點(diǎn)擊快捷方式,選擇屬性;在目標(biāo)框內(nèi),chrome.exe后面的引號(hào)后面,加入以下內(nèi)容:

--enable-webgl--ignore-gpu-blacklist--allow-file-access-from-files

點(diǎn)擊確定后關(guān)閉Chrome,然后用此快捷方式啟動(dòng)Chrome瀏覽器。
幾個(gè)參數(shù)的含義如下:
--enable-webgl的意思是開啟WebGL支持;
--ignore-gpu-blacklist的意思是忽略GPU黑名單,也就是說有一些顯卡GPU因?yàn)檫^于陳舊等原因,不建議運(yùn)行WebGL,這個(gè)參數(shù)可以讓瀏覽器忽略這個(gè)黑名單,強(qiáng)制運(yùn)行WebGL;
--allow-file-access-from-files的意思是允許從本地載入資源,如果你不是WebGL的開發(fā)者,不需要開發(fā)調(diào)試WebGL,只是想要看一下WebGL的Demo,那你可以不添加這個(gè)參數(shù)。

Firefox瀏覽器
Firefox的用戶請(qǐng)?jiān)跒g覽器的地址欄輸入“about:config”,回車,然后在過濾器(filter)中搜索“webgl”,將webgl.force-enabled設(shè)置為true;將webgl.disabled設(shè)置為false;在過濾器(filter)中搜索“security.fileuri.strict_origin_policy”,將security.fileuri.strict_origin_policy設(shè)置為false;然后關(guān)閉目前開啟的所有Firefox窗口,重新啟動(dòng)Firefox。
前兩個(gè)設(shè)置是強(qiáng)制開啟WebGL支持,最后一個(gè)security.fileuri.strict_origin_policy的設(shè)置是允許從本地載入資源,如果你不是WebGL的開發(fā)者,不需要開發(fā)調(diào)試WebGL,只是想要看一下WebGL的Demo,那你可以不設(shè)置此項(xiàng)。

Safari瀏覽器
在菜單中找到“屬性”→“高級(jí)”,選中“顯示開發(fā)菜單”,然后到“開發(fā)”菜單,選中“開啟WebGL”。

開發(fā)步驟

下面的代碼只是簡(jiǎn)單總結(jié)一下相關(guān)的概念,它來源于參考中的中文教程,涉及較多的3D方面的知識(shí)。感興趣的同學(xué)直接可以跳到實(shí)用參考中的中文教程中學(xué)習(xí),比我這里講解的要詳細(xì)和準(zhǔn)確的多。湊熱鬧的同學(xué)簡(jiǎn)單看看就可以了,不用深究每一行代碼的含義。


準(zhǔn)備工作
這個(gè)不用說了,就是在頁面上添加一個(gè)canvas元素作為渲染的容器。例如:

復(fù)制代碼
代碼如下:

<bodyonload="start()">
<canvasid="glcanvas"width="640"height="480">
Yourbrowserdoesn'tappeartosupporttheHTML5canvaselement.
</canvas>
</body>

下面就是正式開始寫腳本的時(shí)候了,首先看一下程序入口以及整體結(jié)構(gòu):

復(fù)制代碼
代碼如下:

functionstart(){
varcanvas=document.getElementById("glcanvas");
initGL(canvas);
initShaders();
initBuffers();
gl.clearColor(0.0,0.0,0.0,1.0);
gl.enable(gl.DEPTH_TEST);
drawScene();
}

這里的幾個(gè)方法代表了典型的WebGL的繪制步驟:

步驟一:初始化WebGL工作環(huán)境 - initGL
這個(gè)方法的代碼如下:

復(fù)制代碼
代碼如下:

vargl;
functioninitGL(canvas){
gl=null;
try{
//Trytograbthestandardcontext.Ifitfails,fallbacktoexperimental.
gl=canvas.getContext("webgl")||canvas.getContext("experimental-webgl");
}
catch(e){} //Ifwedon'thaveaGLcontext,giveupnow
if(!gl){
alert("UnabletoinitializeWebGL.Yourbrowsermaynotsupportit.");
}
}

這個(gè)方法很簡(jiǎn)單,就是獲取WebGL的繪制環(huán)境,需要把參數(shù)"webgl"傳給canvas.getContext方法就行了,但是由于目前WebGL的標(biāo)準(zhǔn)沒有最終定型,所以實(shí)驗(yàn)階段用的參數(shù)都是"experimental-webgl"。當(dāng)然你直接去調(diào)用canvas.getContext("experimental-webgl")也是可以的,等標(biāo)準(zhǔn)定下以后,你再修改一個(gè)代碼。

步驟二:初始化著色器Shaders - initShaders
著色器Shader概念比較簡(jiǎn)單,說白了就是顯卡運(yùn)算指令。構(gòu)造3D場(chǎng)景需要進(jìn)行大量的顏色、位置等等信息的計(jì)算,如果這些計(jì)算由軟件執(zhí)行的話,速度會(huì)很慢。所以把這些運(yùn)算讓顯卡去計(jì)算,速度就很快;如何去執(zhí)行這些計(jì)算,就是由著色器指定的。著色器代碼是用一種叫做GLSL的著色器語言編寫的,這個(gè)我們不去講述這個(gè)語言了。
著色器可以在html中定義,在代碼中使用。當(dāng)然了你在程序中用一個(gè)字符串去定義著色器也是一樣的。
下面先看定義的部分:

復(fù)制代碼
代碼如下:

<scriptid="shader-fs"type="x-shader/x-fragment">
precisionmediumpfloat;
varyingvec4vColor;
voidmain(void){
gl_FragColor=vColor;
}
</script>
<scriptid="shader-vs"type="x-shader/x-vertex">
attributevec3aVertexPosition;
attributevec4aVertexColor;
uniformmat4uMVMatrix;
uniformmat4uPMatrix;
varyingvec4vColor;
voidmain(void){
gl_Position=uPMatrix*uMVMatrix*vec4(aVertexPosition,1.0);
vColor=aVertexColor;
}
</script>

這里有兩個(gè)著色器:面著色器和頂點(diǎn)著色器。
關(guān)于這兩個(gè)著色器,這里有必要說明一下,計(jì)算機(jī)中的3D模型基本都是由點(diǎn)結(jié)合三角面片去描述的,頂點(diǎn)著色器就是去處理這些點(diǎn)的數(shù)據(jù),而面著色器就是通過插值的方式,去處理三角面片上點(diǎn)的數(shù)據(jù)。
上面定義的頂點(diǎn)著色器就定義了頂點(diǎn)的位置和顏色計(jì)算方式;而面著色器定義了插值點(diǎn)的顏色計(jì)算方式。實(shí)際的應(yīng)用場(chǎng)景中,還會(huì)涉及到在著色器中處理光線等效果。
定義了著色器,在程序中就可以查找到它們并可以去使用:

復(fù)制代碼
代碼如下:

varshaderProgram;
functioninitShaders(){
varfragmentShader=getShader(gl,"shader-fs");
varvertexShader=getShader(gl,"shader-vs");
shaderProgram=gl.createProgram();
gl.attachShader(shaderProgram,vertexShader);
gl.attachShader(shaderProgram,fragmentShader);
gl.linkProgram(shaderProgram);
if(!gl.getProgramParameter(shaderProgram,gl.LINK_STATUS)){
alert("Couldnotinitialiseshaders");
}
gl.useProgram(shaderProgram);
shaderProgram.vertexPositionAttribute=gl.getAttribLocation(shaderProgram,"aVertexPosition");
gl.enableVertexAttribArray(shaderProgram.vertexPositionAttribute);
shaderProgram.vertexColorAttribute=gl.getAttribLocation(shaderProgram,"aVertexColor");
gl.enableVertexAttribArray(shaderProgram.vertexColorAttribute);
shaderProgram.pMatrixUniform=gl.getUniformLocation(shaderProgram,"uPMatrix");
shaderProgram.mvMatrixUniform=gl.getUniformLocation(shaderProgram,"uMVMatrix");
}

著色器是有了,但是怎么讓顯卡去執(zhí)行,Program就是這種橋梁,它是WebGL原生的二進(jìn)制碼,它的作用基本上就是讓顯卡運(yùn)行著色器代碼去渲染指定的模型數(shù)據(jù)。
這里還用到一個(gè)輔助方法getShader,這個(gè)方法就是遍歷html文檔,查找著色器的定義,拿到定義后創(chuàng)建著色器,這里就不細(xì)說了:

復(fù)制代碼
代碼如下:

functiongetShader(gl,id){
varshaderScript,theSource,currentChild,shader;
shaderScript=document.getElementById(id);
if(!shaderScript){
returnnull;
}
theSource="";
currentChild=shaderScript.firstChild;
while(currentChild){
if(currentChild.nodeType==currentChild.TEXT_NODE){
theSource+=currentChild.textContent;
}
currentChild=currentChild.nextSibling;
}
if(shaderScript.type=="x-shader/x-fragment"){
shader=gl.createShader(gl.FRAGMENT_SHADER);
}elseif(shaderScript.type=="x-shader/x-vertex"){
shader=gl.createShader(gl.VERTEX_SHADER);
}else{
//Unknownshadertype
returnnull;
}
gl.shaderSource(shader,theSource);
//Compiletheshaderprogram
gl.compileShader(shader);
//Seeifitcompiledsuccessfully
if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){
alert("Anerroroccurredcompilingtheshaders:"+gl.getShaderInfoLog(shader));
returnnull;
}
returnshader;
}

步驟三:創(chuàng)建/加載模型數(shù)據(jù) - initBuffers
這些小例子中,模型數(shù)據(jù)基本都是直接生成的,實(shí)際的程序中,這些數(shù)據(jù)應(yīng)該都是從模型加載得到的:

復(fù)制代碼
代碼如下:

vartriangleVertexPositionBuffer;
vartriangleVertexColorBuffer;
functioninitBuffers(){
triangleVertexPositionBuffer=gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER,triangleVertexPositionBuffer);
varvertices=[
0.0,1.0,0.0,
-1.0,-1.0,0.0,
1.0,-1.0,0.0
];
gl.bufferData(gl.ARRAY_BUFFER,newFloat32Array(vertices),gl.STATIC_DRAW);
triangleVertexPositionBuffer.itemSize=3;
triangleVertexPositionBuffer.numItems=3;
triangleVertexColorBuffer=gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER,triangleVertexColorBuffer);
varcolors=[
1.0,0.0,0.0,1.0,
0.0,1.0,0.0,1.0,
0.0,0.0,1.0,1.0
];
gl.bufferData(gl.ARRAY_BUFFER,newFloat32Array(colors),gl.STATIC_DRAW);
triangleVertexColorBuffer.itemSize=4;
triangleVertexColorBuffer.numItems=3;
}

上面這段代碼創(chuàng)建了三角形的頂點(diǎn)和頂點(diǎn)的顏色數(shù)據(jù)并放在緩沖區(qū)中。

步驟四:渲染 - drawScene
準(zhǔn)備好了數(shù)據(jù)以后,交給WebGL去渲染就好了,這里調(diào)用的是gl.drawArrays方法。看代碼:

復(fù)制代碼
代碼如下:

functiondrawScene(){
gl.viewport(0,0,gl.viewportWidth,gl.viewportHeight);
gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);
pMatrix=okMat4Proj(45.0,gl.viewportWidth/gl.viewportHeight,0.1,100.0);
mvMatrix=okMat4Trans(-1.5,0.0,-7.0);
gl.bindBuffer(gl.ARRAY_BUFFER,triangleVertexPositionBuffer);
gl.vertexAttribPointer(shaderProgram.vertexPositionAttribute,triangleVertexPositionBuffer.itemSize,gl.FLOAT,false,0,0);
gl.bindBuffer(gl.ARRAY_BUFFER,triangleVertexColorBuffer);
gl.vertexAttribPointer(shaderProgram.vertexColorAttribute,triangleVertexColorBuffer.itemSize,gl.FLOAT,false,0,0);
setMatrixUniforms();
gl.drawArrays(gl.TRIANGLES,0,triangleVertexPositionBuffer.numItems);
}

這個(gè)函數(shù)首先設(shè)置了3D世界的背景為黑色,然后設(shè)置投影矩陣,設(shè)置待繪制對(duì)象的位置,然后根據(jù)緩沖中的頂點(diǎn)和顏色數(shù)據(jù),繪制對(duì)象。這里還有一些生成投影矩陣和模型視圖矩形的輔助方法(使用了Oak3D圖形庫中的矩陣輔助方法)與主題關(guān)系不大,這里就不詳細(xì)解釋了。
基本上流程就是這么多了,更復(fù)雜的紋理,光線等都是在這些基礎(chǔ)上加入一些WegGL的特性實(shí)現(xiàn)的,這個(gè)請(qǐng)參看后面的中文教程,里面有詳細(xì)的例子。

怎么樣?使用原生的WebGL開發(fā)是一種什么感受?不僅需要有深厚的3D知識(shí),還需要知道各種實(shí)現(xiàn)細(xì)節(jié)。WebGL這樣做是為了靈活的適應(yīng)各種應(yīng)用場(chǎng)景,但是對(duì)于大多數(shù)像我這樣非專業(yè)人士來說,很多細(xì)節(jié)是不需要知道的。這樣就催生了各種輔助開發(fā)的類庫,例如這節(jié)用到的Oak3D庫(為了演示W(wǎng)ebGL開發(fā),例子中只用到了矩陣輔助方法)。下一節(jié)會(huì)介紹一個(gè)用的比較多的Three.js圖形庫。

實(shí)用參考:
中文教程:http://www.hiwebgl.com/?p=42

開發(fā)中心:https://developer.mozilla.org/en/WebGL

標(biāo)簽:廣西 蚌埠 常德 阿克蘇 松原 鄂爾多斯 廣東 果洛

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5之WebGL 3D概述(上)—WebGL原生開發(fā)開啟網(wǎng)頁3D渲染新時(shí)代》,本文關(guān)鍵詞  HTML5,之,WebGL,概述,上,原生,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5之WebGL 3D概述(上)—WebGL原生開發(fā)開啟網(wǎng)頁3D渲染新時(shí)代》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5之WebGL 3D概述(上)—WebGL原生開發(fā)開啟網(wǎng)頁3D渲染新時(shí)代的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    91日韩在线专区| 日韩欧美一区二区在线| 麻豆视频在线播放| 国产精品免费麻豆入口| 91精品国产美女浴室洗澡无遮挡| 亚洲中文字幕在线一区| 国产精品亚洲人成在99www| 最新av中文字幕| 亚洲一级片av| 国产夫妻视频| 久久电影国产免费久久电影| 韩国一区二区三区在线观看| 538国产精品视频一区二区| 国产精品欧美一区二区| 5g影院5g天天爽永久免费影院| 亚洲国产日韩欧美在线动漫| 国产日韩欧美| 精品国产av 无码一区二区三区| 视频一区中文字幕精品| 米奇777超碰欧美日韩亚洲| 亚洲欧美综合区自拍另类| 我不卡影院28| 欧美一区二区三区免费在线看| 337p粉嫩大胆噜噜噜噜噜91av| 青青草国产成人99久久| 精品国产乱码久久久久久郑州公司| 精品久久中文字幕久久av| 国产精品久久久久久亚洲影视| 午夜小视频免费| 日本一区二区免费高清视频| 91av视频在线播放| 欧美视频免费一区二区三区| 欧美毛片在线观看| 国产成人av一区二区三区在线观看| 在线视频欧美日韩| 福利二区91精品bt7086| 51精品久久久久久久蜜臀| 精品1区2区3区| 二区视频在线| 欧美激情视频网站| 免费a级黄色片| 996久久国产精品线观看| 精品国产一区久久久| 国模私拍视频在线观看| 成人短视频在线| 岛国大片在线免费观看| 一级特黄录像免费看| 日韩av手机版| 午夜影院在线播放| 二人午夜免费观看在线视频| 精品视频一区二区观看| 国产青春久久久国产毛片| 欧美精品三级日韩久久| 成人网18免费看| 很黄很黄的网站免费的| 久久国内精品一国内精品| 波多野结衣一区二区三区免费视频| 91精品国产色综合| 小荡货+程雪柔| 性欧美精品男男| 国产又黄又粗又猛又爽的视频| 欧美一区永久视频免费观看| 欧美高清视频在线播放| 欧美日韩hd| 国产黄色大片在线观看| 超碰免费公开在线| 国产裸体无遮挡| 97成人在线观看| 久久成年人网站| 日韩电影中文字幕一区| 国产在线视频91| 亚洲熟女乱色一区二区三区久久久| 日韩美女视频免费在线观看| 国产精品sss在线观看av| rebdb初裸写真在线观看| 日本伊人午夜精品| 国模极品一区二区三区| 粉嫩av性色av蜜臀av网站| 亚洲一区二区三区免费观看| 视频区小说区图片区| 有码一区二区三区| 99久久精品一区二区三区| 欧洲国产伦久久久久久久| 噜噜噜久久亚洲精品国产品麻豆| 美女激情视频网站| 在线电影国产精品| 欧美日韩国产免费一区二区| 国产亚洲综合视频| 欧美日韩国产综合新一区| 日韩超碰人人爽人人做人人添| 97免费中文视频在线观看| 美女少妇一区二区| 久久女同性恋中文字幕| 污的网站在线观看| 日韩最新免费不卡| 老司机成人影院| 日韩一区二区三区高清在线观看| 成人午夜视频福利| 色中色综合网| 国产精品一级在线观看| 青青青国产视频| 国产欧美久久久| 日韩中文字幕第一页| 在线观看免费播放网址成人| 国产亚洲第一伦理第一区| 久久久久久亚洲精品不卡| 国产乱一区二区| 国产精品久久久久久久免费软件| 一本之道在线视频| www怡红院| 免费啪视频在线观看| 成人久久一区| 不卡的看片网站| 成人免费一级片| 成人黄色小视频在线观看| 麻豆最新免费在线视频| 国产日韩欧美成人| 国产精品污网站| 国产麻豆精品95视频| 大荫蒂欧美视频另类xxxx| 日韩 欧美 亚洲| 久久99久久精品欧美| 国产亚洲一本大道中文在线| 欧美一区二区久久| 五十路熟女丰满大屁股| 日韩和欧美的一区二区| 成人激情直播| 少妇高潮一区二区三区99| www.久久久久爱免| 久久久久亚洲精品中文字幕| 国产美女高潮一区二区三区| 天堂精品在线视频| 宅男噜噜噜66国产免费观看| 国产一区二区三区不卡av| 日韩电影免费在线观看网站| 亚洲欧洲美洲一区二区三区| 成人免费在线视频网| 欧美日韩另类图片| 精品日本一区二区三区在线观看| 激情 小说 亚洲 图片: 伦| 国产精品久久久久秋霞鲁丝| 超碰97免费在线| 久久人人88| 欧美韩日一区二区三区四区| 精品国产乱码久久久久久图片| 国产精品视频男人的天堂| 日韩特级毛片| 国产超碰91| 欧美另类变人与禽xxxxx| 国产精品久久久久久一区二区| 全程偷拍露脸中年夫妇| 伊人久久成人| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品视频免费看| 538精品视频| 日韩丰满少妇无码内射| 国产cdts系列另类在线观看| 51精品久久久久久久蜜臀| av激情网站| 久久99精品国产99久久6尤物| 日韩一级大片在线观看| 羞羞小视频在线观看| 成人黄色片在线观看| 成 年 人 黄 色 大 片大 全| 国产精品无码久久久久一区二区| 日本中文一区二区三区| 男女猛烈激情xx00免费视频| 亚洲综合在线第一页| 日本理论片2828理论片| 日韩大尺度在线观看| 欧美午夜精品理论片a级大开眼界| 不卡的av网站| 欧美国产日韩视频| av黄色在线看| 欧美另类中文字幕| 91在线观看免费网站| 成人黄色在线免费| 国产最顶级的黄色片在线免费观看| 免费看涩涩视频| 久久久久久久久久久久| 任你躁av一区二区三区| 亚洲男帅同性gay1069| 中文字幕在线观看日| 免费高清不卡av| 女仆av观看一区| 久久99精品久久久久久噜噜| 久久午夜a级毛片| 在线看黄色网| 成人性视频免费网站| 一区二区视频在线观看免费的| 日韩欧美视频| 国产91露脸中文字幕在线| 成人性视频欧美一区二区三区| 国产精品九九九九九| 日韩护士脚交太爽了| 尤物在线观看一区| 中文字幕一二三四| 欧美精品成人在线| 91观看网站| 久久久久国色av免费观看性色| 黄色av免费播放| 国产激情视频一区二区三区| 91久久国产精品91久久性色| 亚洲网站在线免费观看| 搞黄网站在线看| 国产亚洲激情在线| 免费成人美女在线观看| 日本一级免费视频| 国产在线观看高清视频| 欧美日韩卡一| 无码av中文一区二区三区桃花岛| 国产在线成人精品午夜| 日本美女xxx| 国产精品网站在线看| 欧美黑人经典片免费观看| 一区二区三区在线视频观看58| 中文字幕福利视频| 97蝌蚪自拍自窝| 欧美极品欧美精品欧美视频| www.91香蕉视频| 国产精品久久久久久久久久久久久| 小早川怜子影音先锋在线观看| a国产在线视频| 97精品一区| 日韩av影院| 美国av在线播放| 亚洲天堂a在线| 亚洲午夜一区| 丰满人妻一区二区三区免费视频| 久久香蕉精品| 免费人成精品欧美精品| 欧美成人精品一区二区免费看片| 1024视频在线| 欧美日韩国产高清一区二区| 亚洲欧美偷拍三级| 亚洲视频一区在线观看| 国产精品久久久久7777按摩| 91美女在线| 日韩av福利在线观看| 电影一区中文字幕| 国语自产精品视频在免费| 国内精品久久久久久久影视简单| 国产精品人成电影在线观看| 国产在线视频2019最新视频| 日本高清视频一区二区三区| 精品国产乱码久久久久久蜜臀网站| 爱情岛论坛亚洲首页入口章节| 91国产免费观看| 色琪琪原网站亚洲香蕉| 日韩免费视频线观看| 亚洲美女av在线| 高清一区二区中文字幕| 欧美亚洲一区在线| 欧美日韩精品福利| 欧美一区二区三级| 欧美熟妇精品黑人巨大一二三区| 欧美成人亚洲高清在线观看| 久久久久.com| 中文字幕在线导航| 超碰在线播放97| 国产成人福利短视频app| 天堂网.www在线资源| 欧美日韩电影在线观看| 日本大片在线播放| 香蕉久久一区二区不卡无毒影院| 欧美电影免费观看| 欧美日韩中文字幕| 黄色激情在线视频| 91美女主播在线视频| 国产成人av网址| 日本亚洲最大的色成网站www| 欧美 亚欧 日韩视频在线| 欧美国产大片| 欧美日韩国产高清一区二区| 欧美日韩大尺度| 亚洲欧美综合图区| 欧美亚洲国产日韩2020| 美女网站色精品尤物极品姐弟| 欧美在线中文字幕高清的| 岛国精品视频在线播放| 日韩毛片在线看| 日韩免费久久| 91亚洲人电影| 牛牛精品在线| 九九热播视频在线精品6| 欧美国产视频日韩| 91精品国产aⅴ一区二区| 日本欧洲一区二区| 蜜桃国内精品久久久久软件9| 色屁屁草草影院ccyycom| 伊人222成人综合网| 秋霞影院一区二区三区| 欧美日韩一区二区在线播放| 蜜桃国内精品久久久久软件9| √…a在线天堂一区| 丁香五月网久久综合| 一区二区三区在线看| www.欧美日韩| 日本精品一二三区| jizz在亚洲| 国产精品678| 亚洲一区在线视频观看| 久久免费视频1| 中文字幕永久视频| 免费久久久久久久久| 黄色三级中文字幕| 无遮挡aaaaa大片免费看| 97人妻一区二区精品视频| 亚洲女同ⅹxx女同tv| 在线视频你懂得一区| 国产精品网站在线| 一级黄色片大全| 美女日批在线观看| 国产无遮挡又黄又爽又色| 国产精品久99| xxxwww在线观看| 九九热在线视频观看这里只有精品| 伊人影院在线观看视频| 99热在线这里只有精品| 国产精品久久久久久户外露出| 精品国产乱码久久久久久樱花| av老司机在线观看| 91牛牛免费视频| 在线成人小视频| 男人的天堂网av| 日韩一级视频| 欧美日韩在线免费观看| 无码人妻丰满熟妇区五十路百度|