日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Modern OpenGL】Shader

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Modern OpenGL】Shader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Shaders

正如在上一篇教程中提到的,shader是在GPU中運行的小程序。如上一個教程中實現的最簡單的vertex shader和fragment shader,一個shader基本上負責圖形渲染流水線中的一個階段的功能。從根本上來說,shader就是將輸入轉化成輸出的操作。而且,它們之間是獨立的,除了以輸入和輸出方式外,他們之間不允許進行通信。

上一篇教程中我們僅僅是知道了關于shader最基本的寫法和用法。在本篇教程中我們將對shader進一步講解,特別是GLSL(OpenGL Shading Language,簡稱GLSL)語言。

GLSL

Shader使用與C類似GLSL語言來書寫的。GLSL是為圖形處理量身定做的語言,它包含很多針對向量或者矩陣操作的特性。

Shader一般以版本聲明開始,接著聲明輸入和輸出變量。uniform變量(先理解成一種全局變量,后面會講到)和主函數(main函數)。每一個shader的入點都是main函數,在main函數中,我們對輸入數據進行處理,然后將處理結果寫到輸出數據中。

一個shader的典型結構如下所示:

//版本聲明 #version version_number //輸入聲明 in type in_variable_name; in type in_variable_name; //輸出聲明 out type out_variable_name; //uniforms uniform type uniform_name; //主函數 void main() {// Process input(s) and do some weird graphics stuff...// Output processed stuff to output variableout_variable_name = weird_stuff_we_processed; }

當我們說到具體的shader的時候,比如說vertex shader,每一個輸入變量又叫做頂點屬性(vertex attribute)。對輸入的頂點屬性數量有一個上界,是由硬件決定的。OpenGL保證知道有16個4分量的頂點屬性可用,但是某些硬件可能會支持更多,可以通過查詢GL_MAX_VERTEX_ATTRIBS來獲得自己機器上支持的數量:

GLint nrAttributes; glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &nrAttributes); std::cout << "Maximum nr of vertex attributes supported: " << nrAttributes << std::endl;

一般情況下返回值會大于等于16,無特殊要求是夠用了。我的平臺上也是輸出16。

Types

GLSL有和其他編程語言類似的數據類型用于指定變量的種類。在GLSL中,int, float, double, uint 和 bool是和C一樣的基本數據類型,還有兩種容器類型的變量,我們在后面會經常用到,它們分別是vector(向量)和matrice(矩陣)。我們將在后面的教程中討論矩陣。

向量 Vectors

GLSL中的vector是含有1,2,3,或者4個基本數據類型分量的容器。用如下的形式來聲明向量(其中n代表向量中分量的個數):

  • vecn: 默認情況下分量數據類型是float。
  • bvecn: bool類型的向量。
  • ivecn: 整型類型的向量。
  • uvecn: 無符號整型類型的向量。
  • dvecn: 雙精度類型的向量。

在大多數情況下我們使用默認情況下的vecn就夠了,因為浮點類型的分量已經夠我們大部分的使用了。

向量的分量可以通過vec.x形式訪問。可以分別使用.x, .y, .z 和 .w來訪問向量的第一、二、三、和四個分量。GLSL還可以使用rgba來訪問顏色向量,或者使用stpq來訪問紋理坐標,他們也能訪問相同的分量值。

GLSL中的向量是十分靈活的,它允許一些有趣的操作——它支持以下類似的語法:

vec2 someVec; vec4 differentVec = someVec.xyxx; vec3 anotherVec = differentVec.zyw; vec4 otherVec = someVec.xxxx + anotherVec.yxzy;vec2 vect = vec2(0.5f, 0.7f); vec4 result = vec4(vect, 0.0f, 0.0f); vec4 otherResult = vec4(result.xyz, 1.0f);

總體來說,向量是一種十分靈活的數據類型,它可以用來聲明各種輸入和輸出。讓我們在教程中根據實例仔細體會吧。

輸入和輸出

從Shader自身來說,他們是小的獨立程序,但是從整體來說,他們是整個圖形渲染流水的組成部分,這也是為什么我們要讓它們有輸入和輸出。GLSL為此專門定義了in和out關鍵字。每個shader都可以定義用這兩個關鍵字來指明自身的輸入和輸出數據,當其它的shader中的輸入和輸出數據類型能夠相匹配,那么這兩個shader就可以連接起來,相應的數據流就可以在連接起來的shader之間流通。我們之前定義的vertex shader和fragment shader明顯是不能夠進行連接的,因為它們的輸入輸出接口是匹配不上的。

Vertex shader應該支持不同種類的輸入,否則它就是低效的。因為它是圖形渲染流水線的最開始的頂點數據輸入,而輸入的數據的類型也是多種多樣的。為了定義頂點數據的組織方式,我們通過location標定輸入的變量,這樣我們可以在CPU中來配置頂點屬性。我們在上一個教程中的vertex shader中的layout (location = 0)就是這種用法。所以vertex shader需要為其輸入額外規定布局(layout),這樣就可以和具體的頂點數據聯系起來。

實際上事先指定輸入數據布局的方法,也就是通過類似layout (location = 0)的聲明完成,可以通過在OpenGL中調用glGetAttribLocation的方式取代。但是這種方式相當于把shader和OpenGL的工作分開來。

fragment shader應該輸出的是顏色值,應該是一個vec4類型的向量。因為片段處理器本質上決定了屏幕上顯示的每個像素的顏色值(當然有可能會被后面的混合器改變),所以如果沒有指定或者錯誤指定輸出顏色值,那么OpenGL渲染得到的可能是錯誤的。

所以,如果我們想要在A shader和B shader之間傳遞數據,比如說從A傳到B,那么至少應該在A中定義輸出變量,在B中定義輸入變量,而且要求這個輸入和輸出變量的數據類型和名稱必須一致。這樣OpenGL才會在圖形渲染流水線中將這兩個shader連接起來以完成數據的傳遞。為了更好的理解上面說的這些,下面修改上個教程創建的vertex shader和fragment shader來進行理解:

Vertex shader

#version 330 core layout (location = 0) in vec3 position; // The position variable has attribute position 0 out vec4 vertexColor; // Specify a color output to the fragment shadervoid main() {gl_Position = vec4(position, 1.0); // See how we directly give a vec3 to vec4's constructorvertexColor = vec4(0.5f, 0.0f, 0.0f, 1.0f); // Set the output variable to a dark-red color }

Fragment shader

#version 330 core in vec4 vertexColor; // The input variable from the vertex shader (same name and same type)out vec4 color;void main() {color = vertexColor; } 如上面代碼所示:我們在vertex shader中聲明了一個vec4類型的變量vertexColor作為其輸出;在fragment shader中我們也聲明了一個同名同類型的變量,但是作為其輸入。所以這兩個變量實際上就將這兩個shader“連接”起來了——vertex shader可以利用vertexColor變量給fragment shader傳遞顏色值。在例子中,我們在vertex shader中給vertexColor賦值為一個深紅色的顏色,fragment shader中用這個顏色為其輸出的顏色值賦值,那么我們也應該得到最終的圖形的渲染顏色是深紅色,實際上也是這樣,我得到的結果是:

哈哈,我們成功將一個顏色值從vertex shader傳遞到fragment shader中!讓我們再嘗試一下更有趣的:從我們的程序中傳遞一個顏色值給fragment shader,這需要用到我們在開頭提到的uniform。

Uniforms

與頂點屬性類似,uniform是從在CPU中運行的程序向在GPU中運行的shader的另一種方式,但是二者卻有很大的不同。首先,uniform類型的變量是全局的,這就意味著:首先,每個shader都必須有一個唯一命名的uniform變量,并且在任何shader(不需要連接在一起)中都能夠訪問其它shader中的uniform變量;其次,uniform變量的值一直保持不變,直到被重置或者更新才會改變。

在GLSL中聲明一個uniform只需要在變量聲明的時候加上一個關鍵字uniform。在此之后我們就可以使用這個uniform變量。接下來,讓我們嘗試一下是否可以使用uniform來設置fragment shader的數據結果值。原理就是,我們在fragment shader中聲明一個全局變量,并將fragment的最后輸出結果賦值為這個uniform值,然后我們在OpenGL程序中對這個uniform變量進行修改,然后看效果,首先是fragment shader:

#version 330 core out vec4 color;uniform vec4 ourColor; // We set this variable in the OpenGL code.void main() {color = ourColor; }

如你所見,在這個fragment shader中,我們定義了一個vec4類型的變量ourcolor,前面的uniform關鍵字標明它是一個uniform類型的變量。然后,我們將fragment shader的輸出值color賦值為ourcolor。實際上,因為uniform類型的變量是全局變量,我們可以在任何的shader中定義,在任何的shader中使用已定義多的uniform變量。

如果你定義了一個uniform類型的變量,但是在GLSL程序中并沒有使用過,那么,編譯器就會在編譯的時候將這個變量給去掉。這可能會造成一些奇怪的錯誤(比如說你在OpenGL中對這個uniform賦值),我們應該記住這一點。

上面的uniform變量當前是空的,因為我們還沒有對它進行任何的賦值操作。下面我們就來對它進行賦值。首先,我們要找到這個uniform變量的索引/位置,然后我們可以對它進行值的更新。我們不想僅僅傳遞單一的顏色給fragment shader,我們讓這個顏色值隨著時間改變,代碼如下:

GLfloat timeValue = glfwGetTime(); GLfloat greenValue = (sin(timeValue) / 2) + 0.5; GLint vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor"); glUseProgram(shaderProgram); glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f);

首先,我們通過glfwGetTime函數取得運行時以秒為單位的時間值,然后我們設置綠色分量的值在0.0-1.0之間隨著時間變化。再然后,我們利用glGetUniformLocation函數取得我們在fragment shader中聲明的uniform變量的索引/位置。最后利用glUniform4f函數對這個位置的值進行更新。

需要注意的是,在調用glGetUniformLocation函數時,我們需要傳遞我們組裝的渲染程序對象名稱,在我們的例子中是”shaderProgram”,它指明了在哪兒查找,同時需要給出我們想要查找哪個uniform,即給出我們要查找的uniform名稱。如果這個函數返回-1,那么表示沒有找到。成功找到后,我們最后通過glUniform4f來根據找到的位置設置這個uniform的值。

需要注意的是,在設置一個渲染程序對象中的uniform變量值的時候,需要用glUseProgram函數來顯示表明我們要修改的渲染程序對象,在本例中,即shaderProgram。

因為OpenGL的核心是一個C庫,所以它沒有提供類型重載的功能。所以,OpenGL為每種需要的函數都定義了一個函數,glUniform是一個很好的例子。glUniform函數需要在一個指定需要設置數據類型的后綴,如本例中的4f,表明這個函數有四個float類型的參數。一些其它可能的后綴如下:

f: 函數有1個float類型的參數 i: 函數有1個int類型的參數 ui: 函數有1個unsigned int類型的參數 3f: 函數有3個float類型的參數 fv: 函數有1個float類型分量的vector參數

所以,每當需要重載的時候,只需要在后面添加相應的后綴就可以了。

現在我們已經知道怎樣設置uniform類型變量的值了,我們可以用它們來進行渲染了。如果我們想讓顏色是漸變的,那么我們可以在每次游戲循環(每幀)中對uniform進行更新,否則,如果我們只調用一次,那么顏色值也就只有一種。我們在下面的程序中采用前一種方式:

while(!glfwWindowShouldClose(window)) {// Check and call eventsglfwPollEvents();// Render// Clear the colorbufferglClearColor(0.2f, 0.3f, 0.3f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);// Be sure to activate the shaderglUseProgram(shaderProgram);// Update the uniform colorGLfloat timeValue = glfwGetTime();GLfloat greenValue = (sin(timeValue) / 2) + 0.5;GLint vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor");glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f);// Now draw the triangleglBindVertexArray(VAO);glDrawArrays(GL_TRIANGLES, 0, 3);glBindVertexArray(0); }

上面的代碼看上去是比較簡單的,只是在原有基礎上添加了uniform值的更新,如果正確的話,我們應該能夠得到所繪制的圖形顏色漸變的結果。目前為止的代碼在這兒。

正如你看到的,uniform是一個很好的工具,它可以幫助我們在每次渲染迭代中設置屬性或者在程序和shader之間傳遞數據。但是,如果我,如果我們想要設置每個頂點的顏色呢?如果要使用uniform的方式,那需要定義和點的數量相同的uniform變量。這是復雜和不可接受的。一個更好的解決方法是在頂點屬性中包含更多的值——也就是更多的屬性值。

更多的頂點屬性值

我們在前面的教程中已經知道怎樣填充一個VBO,怎樣配置一個頂點屬性指針和怎樣存儲在VAO中。現在,我們想要為每個頂點數據添加顏色值。具體來說,我們想為每個頂點數據添加3個float類型數據來指定顏色值,這三個數值分別代表rgb分量。

GLfloat vertices[] = {// Positions // Colors0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, // Bottom Right-0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, // Bottom Left0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 1.0f // Top };

因為目前我們有更多的數據要發送到頂點渲染程序,那么有必要對頂點渲染程序進行調整,使其支持我們顏色值的輸入,我們又定義了一個vec3類型的變量color,指定布局中的位置為1,如下所示:

#version 330 core layout (location = 0) in vec3 position; // The position variable has attribute position 0 layout (location = 1) in vec3 color; // The color variable has attribute position 1out vec3 ourColor; // Output a color to the fragment shadervoid main() {gl_Position = vec4(position, 1.0);ourColor = color; // Set ourColor to the input color we got from the vertex data }

有了每個頂點的顏色值,我們不再需要通過uniform類型的顏色值對頂點顏色進行設置,所以我們也要修改相應的fragment shader,如下所示:

#version 330 core in vec3 ourColor; out vec4 color;void main() {color = vec4(ourColor, 1.0f); }

因為我們在頂點屬性中添加了數值,而且更新了VBO的內存,我們需要重新配置頂點屬性指針。更新后的數據在VBO內存中的組織方式是這樣的:

根據數據的這個布局方式,我們可以利用glVertexAttribPointer函數設置OpenGL解釋這些數據的方式。

// Position attribute glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)0); glEnableVertexAttribArray(0); // Color attribute glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)(3* sizeof(GLfloat))); glEnableVertexAttribArray(1); glVertexAttribPointer函數的前幾個參數相對簡單,在前一個教程中已經說得比較明確。在這里,我們對頂點屬性中的位置屬性的配置和前面教程中的基本一致,只是第五個參數的設置上稍有不同,因為這個參數代表的是兩個頂點數據之間的間隙,而我們新創建的頂點數組中每個頂點屬性的數據大小為6個GLfloat類型長度,所以這里設定的是6 * sizeof(GLfloat)。另外在對頂點屬性中的顏色屬性進行設置的時候,我們指定的location是1(第一個參數),在最后一個參數中,我們設定的偏移量是3,因為每個頂點數據中,顏色數據是在頂點數據開始偏移3個GLfloat類型數據的位置。好的,運行上面的程序,我們應該能夠得到下面的結果,我的是這樣:

代碼在這兒.

圖像顯示的效果可能和你想的不是太一樣,因為我們只是設定了三角形的三個顏色為紅綠藍,為什么感覺整個調色板的顏色都顯示出來了呢?這是由在片段處理器中的一種叫做片段插值的技術造成的。在渲染一個三角形的時候,光柵化階段通常會產生比最初設置的多得多的片段(一個片段就是一個要顯示在屏幕上的點的所有的信息)。光柵化程序在此基礎上根據它們在三角形中的相對位置決定每個片段在屏幕中的位置。

根據這些位置,它對片段處理器輸出的顏色值進行線性插值的操作。比如說,我們有一條線,其上端點是是綠色的,下端點是藍色的。如果片段處理程序作用在這條線的靠近綠色30%的地方,那么這個點的顏色值就是30%藍色和70%綠色的線性組合。

這就是我們的三角形呈現出線性變化的多種顏色的原理。雖然我們只設置了三個頂點的三種顏色,但是這個三角形中應該差不多包含了50,000個像素點,對應者50,000個片段。沒有被我們設置顏色的片段就會被通過上述由點的位置決定的線性顏色插值處理,并最終由于顏色的混合得到我們看到的三角形的樣子。

關于shader的寫法,編譯和使用上次教程就已經說到,本次教程又講了shader中的具體的數據結構,輸入輸出變量的設置,uniform變量的使用和改變要輸入的頂點屬性等等,下面作者還想要更深一步,講解shader類的使用。

我們自己的shader類

上述過程中,書寫,編譯和管理shader是比較繁雜的。我們想通過創建一個shader類使得這整個過程變得更容易一些。shader類可以從磁盤中讀取shader源碼、編譯和裝配他們、處理錯誤。這也能夠讓我們對我們到目前學到的只是進行一個有益的抽象,即用類來實現和管理shader。

我們將創建shader類的所有內容放在一個頭文件中,主要是為了學習和移植方面的考慮。讓我們首先來包含必要的頭文件和定義結構體數據類型吧:

#ifndef SHADER_H #define SHADER_H#include <string> #include <fstream> #include <sstream> #include <iostream>#include <GL/glew.h>; // Include glew to get all the required OpenGL headersclass Shader { public:// The program IDGLuint Program;// Constructor reads and builds the shaderShader(const GLchar* vertexPath, const GLchar* fragmentPath);// Use the programvoid Use(); };#endif

在文件的一開頭,我們利用兩行預處理指令來保證這個頭文件只會在我們的程序中包含一次,即使在很多源文件中都有定義。這樣能夠避免鏈接時候的重復定義錯誤。

這個shader類保存渲染程序對象的ID號,它的構造函數需要頂點處理程序和片段處理程序的路徑作為參數。它們可以被簡單存儲為字符文件。另外,我們額外增加了一個use函數,雖然瑣碎,但是能夠幫助我們減少我們的工作量。

從文件讀入shader程序

我們將在其構造函數中使用C++文件流來從文件中將shader程序的內容讀入到幾個字符串對象中:

Shader(const GLchar* vertexPath, const GLchar* fragmentPath) {// 1. Retrieve the vertex/fragment source code from filePathstd::string vertexCode;std::string fragmentCode;std::ifstream vShaderFile;std::ifstream fShaderFile;// ensures ifstream objects can throw exceptions:vShaderFile.exceptions(std::ifstream::badbit);fShaderFile.exceptions(std::ifstream::badbit);try {// Open filesvShaderFile.open(vertexPath);fShaderFile.open(fragmentPath);std::stringstream vShaderStream, fShaderStream;// Read file's buffer contents into streamsvShaderStream << vShaderFile.rdbuf();fShaderStream << fShaderFile.rdbuf(); // close file handlersvShaderFile.close();fShaderFile.close();// Convert stream into GLchar arrayvertexCode = vShaderStream.str();fragmentCode = fShaderStream.str(); }catch(std::ifstream::failure e){std::cout << "ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ" << std::endl;}const GLchar* vShaderCode = vertexCode.c_str();const GLchar* fShaderCode = fragmentCode.c_str();[...]

接下來我們需要編譯和裝配這些shaders。需要注意的是我們需要處理編譯出錯的情況。如果出錯的話,我們打印出編譯時的錯誤方便我們的調試(你早晚會用到的):

// 2. Compile shaders GLuint vertex, fragment; GLint success; GLchar infoLog[512];// Vertex Shader vertex = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertex, 1, &vShaderCode, NULL); glCompileShader(vertex); // Print compile errors if any glGetShaderiv(vertex, GL_COMPILE_STATUS, &success); if(!success) { glGetShaderInfoLog(vertex, 512, NULL, infoLog);std::cout << "ERROR::SHADER::VERTEX::COMPILATION_FAILED\n" << infoLog << std::endl; };// Similiar for Fragment Shader [...] // Shader Program this->Program = glCreateProgram(); glAttachShader(this->Program, vertex); glAttachShader(this->Program, fragment); glLinkProgram(this->Program); // Print linking errors if any glGetProgramiv(this->Program, GL_LINK_STATUS, &success); if(!success) { glGetProgramInfoLog(this->Program, 512, NULL, infoLog);std::cout << "ERROR::SHADER::PROGRAM::LINKING_FAILED\n" << infoLog << std::endl; }// Delete the shaders as they're linked into our program now and no longer necessery glDeleteShader(vertex); glDeleteShader(fragment);

最后我們實現use函數,它只負責對glUseProgram的調用:

void Use() { glUseProgram(this->Program); }
  • 1

這樣就完成了我們自己的shader類的創建。使用這個類也十分簡便,我們只要生成一個shader類的對象,然后使用這個對象就好了:

Shader ourShader("path/to/shaders/shader.vs", "path/to/shaders/shader.frag"); ... while(...) {ourShader.Use();glUniform1f(glGetUniformLocation(ourShader.Program, "someUniform"), 1.0f);DrawStuff(); }

上面代碼中,假設我們將兩個shader分別存儲在shader.vs和shader.frag中。命名什么的都是無所謂的,只要存儲的是字符文件保證讀出來的是字符創就可以了。
本節最終代碼。


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【Modern OpenGL】Shader的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩高清精品免费观看 | 国产伦理久久精品久久久久_ | av网站在线观看播放 | 99热国产在线中文 | 在线观看国产高清视频 | 国产精品 国产精品 | 在线a视频免费观看 | 又粗又长又大又爽又黄少妇毛片 | 在线色网站 | 日韩综合一区二区三区 | 91麻豆精品国产91久久久无限制版 | 日韩特级片 | 国产一二三区av | 国产无吗一区二区三区在线欢 | 日韩69av| 久久www免费人成看片高清 | av在线电影网站 | 国产精品成人一区二区 | 91久久精品日日躁夜夜躁国产 | 天天操天天干天天插 | 成人久久18免费网站麻豆 | 欧美在线观看禁18 | 午夜国产一区二区 | 久久亚洲欧美日韩精品专区 | 在线导航av| 91精品国自产在线观看欧美 | 免费男女羞羞的视频网站中文字幕 | 欧美一二三四在线 | 亚洲免费专区 | 亚洲最快最全在线视频 | 国产精品色婷婷视频 | 中文字幕在线播放一区 | 成年人毛片在线观看 | 亚洲 中文字幕av | 久久久久亚洲最大xxxx | 亚州黄色一级 | 精品一区二区在线免费观看 | 国产a国产 | 五月天最新网址 | 亚洲成人国产精品 | 91在线播 | 欧美污污视频 | 国产精品美女久久久久久久 | 免费精品视频在线 | 国产操在线 | 精品视频 | 很黄很色很污的网站 | 91在线视频免费观看 | 91av视频在线免费观看 | www.天天草 | 伊人色**天天综合婷婷 | 成人午夜精品 | 五月婷婷在线观看 | 狠狠的干狠狠的操 | 91av蜜桃| 天天综合网天天综合色 | 人人舔人人插 | 91免费高清在线观看 | 激情av一区二区 | 狠狠久久婷婷 | 久久高清国产视频 | 国产高清在线视频 | 在线观看午夜 | 91天堂影院| av在线永久免费观看 | 深夜免费网站 | 久久久99精品免费观看 | 成人免费视频播放 | 天天草综合网 | 在线视频 影院 | 欧美日韩国产一区 | 亚洲精品视频在线观看免费 | 91看片在线播放 | 久久精品国产亚洲a | 久精品视频在线观看 | 精品日韩中文字幕 | 亚洲最大成人免费网站 | 精品久久久久久久久久岛国gif | 欧美性生活久久 | 国产色就色 | 国产麻豆精品一区二区 | 亚洲九九影院 | 日产乱码一二三区别在线 | 国产精品一区二区av影院萌芽 | 欧美成人一区二区 | 99久久精品国产亚洲 | 婷婷在线网 | 久久精品视频在线看 | 久久夜色精品国产欧美一区麻豆 | 国产群p视频 | 99欧美视频 | 96视频免费在线观看 | 视频成人永久免费视频 | 五月婷婷六月丁香在线观看 | 天天干天天干天天干 | 九九热久久免费视频 | 蜜桃av观看 | 国产成人精品三级 | 麻豆免费视频网站 | 在线观看av大片 | 亚洲精品国产欧美在线观看 | 亚洲另类视频在线 | 一区二区激情 | 国产一区在线视频播放 | 麻豆免费视频观看 | 久久久国产精品一区二区三区 | 日韩精品电影在线播放 | 久久精品99国产精品亚洲最刺激 | 久久伊人八月婷婷综合激情 | 日韩电影在线视频 | 欧美国产日韩一区二区三区 | 免费网址你懂的 | 色婷婷综合久久久久中文字幕1 | 久久精品国产一区二区三 | 亚洲经典在线 | 91精品视频网站 | 久草在线高清 | 超碰国产在线播放 | 日韩av片免费在线观看 | 美女精品在线 | 国产手机精品视频 | 一级黄色在线免费观看 | 亚洲三区在线 | 91chinesexxx| 国产裸体无遮挡 | www.啪啪.com | 99综合久久 | 国产亚洲免费的视频看 | 久久国产精品免费视频 | 中文字幕一区二区三区在线观看 | 欧美精品一区在线发布 | 天天操天天怕 | 丁香婷婷综合激情 | 啪啪精品 | 成人av电影免费在线播放 | 蜜臀精品久久久久久蜜臀 | 美女网色| 欧美无极色| 黄色av成人在线 | 久草精品视频在线播放 | 免费精品久久久 | 狠狠狠狠狠狠狠干 | 欧美精品久久久 | 久久久久婷| 欧美最猛性xxxxx亚洲精品 | 西西大胆免费视频 | 亚洲国产日本 | 久久天天躁夜夜躁狠狠躁2022 | 国产精品系列在线观看 | 久久综合久久88 | 人人cao| 国产伦精品一区二区三区四区视频 | 色婷婷久久一区二区 | 久久综合一本 | 免费麻豆 | 美女久久久久久久久久久 | 日韩精品一区二区在线观看视频 | 99久久久国产精品美女 | 国产精品18久久久久vr手机版特色 | 久久经典国产 | 日本精品视频免费观看 | 欧美精品一区二区免费 | 日本大尺码专区mv | 国产一区电影在线观看 | 国产视频中文字幕 | 五月天堂网 | 久久综合狠狠 | 免费一级黄色 | 91豆麻精品91久久久久久 | 精品一区二区免费在线观看 | 伊人成人精品 | 欧美在线一级片 | 激情开心站 | 久久久久久久福利 | 国产在线2020 | 亚洲乱码国产乱码精品天美传媒 | 免费高清在线观看成人 | 丁香影院在线 | 国产日产精品一区二区三区四区的观看方式 | 欧美另类69| 日韩av成人在线观看 | 久草在线手机观看 | 国产精品欧美日韩在线观看 | 婷婷在线免费 | 91九色在线播放 | av日韩av| 欧美 日韩 视频 | av超碰在线 | 一区二区三区电影在线播 | 香蕉影视在线观看 | 国产免费三级在线观看 | 激情综合站 | 婷婷色六月天 | 久久精品欧美一区二区三区麻豆 | 天堂在线视频免费观看 | 九九免费在线视频 | 伊人激情综合 | 欧美射射射 | 日韩欧美v | www视频免费在线观看 | 99久久精品久久久久久清纯 | 日韩av资源站| 黄色的网站免费看 | 日韩欧美视频在线 | 天天操夜夜操 | 去看片 | 免费观看的黄色片 | 亚洲精品毛片一级91精品 | 亚洲午夜久久久综合37日本 | 日韩在线免费电影 | 91视频下载| 欧美性护士 | 精品国产一区二区三区四区在线观看 | 在线观看视频99 | 国产精品久久久久一区二区三区 | 免费看v片网站 | 国产五码一区 | 色视频在线观看 | 91av电影| 天天干天天插 | 丁香六月在线观看 | 九九九九热精品免费视频点播观看 | 亚洲 欧洲av | 精品一二三四五区 | 亚洲资源视频 | 久久性生活片 | 99在线播放 | 亚洲欧洲精品久久 | 日韩最新中文字幕 | 99久久毛片 | 黄色三级免费 | 欧美性久久久 | 免费看十八岁美女 | 99久久激情 | 国产一区二区在线精品 | 99高清视频有精品视频 | 亚洲久在线 | 黄色免费大片 | 国产一区二区在线影院 | 日韩中文字幕免费看 | 色婷婷av国产精品 | 最近高清中文在线字幕在线观看 | 国产在线不卡视频 | 久久在草| 亚洲涩涩一区 | 亚洲专区在线播放 | 91免费日韩 | 欧洲亚洲女同hd | 亚洲黄色三级 | 九九热在线精品视频 | 日日干美女| 久久视频在线 | 激情开心站 | 综合久久精品 | 日韩激情影院 | 久久久久亚洲国产精品 | 中文字幕免费播放 | 婷婷色在线 | 久久三级毛片 | 免费午夜av| 国产精品久久久久久久久大全 | 欧美精品色 | 韩国一区二区三区在线观看 | 欧洲精品亚洲精品 | 日韩美女一级片 | 超碰在线网 | 天天草av | 精品伊人久久久 | 91传媒免费观看 | 中文字幕有码在线 | 香蕉97视频观看在线观看 | 国产伦理剧 | 在线观看国产一区 | 亚洲在线国产 | 国产精品一区电影 | 日产乱码一二三区别在线 | 一区二区三区观看 | 免费在线一区二区三区 | 久久久精华网 | 午夜精品999 | 九九热精品在线 | 黄色国产在线观看 | www四虎影院 | 99热在线观看免费 | 日韩精品在线观看av | 97干com | 成人h视频| 久久久久亚洲精品国产 | 五月婷婷.com | 日本视频精品 | 国产破处精品 | 久久99精品久久久久久三级 | 五月婷影院 | 91精品国产欧美一区二区 | 日韩高清免费无专码区 | 欧美色婷| 亚洲精品午夜一区人人爽 | 欧美极品xxxxx | 亚洲黄色软件 | 国产精品免费视频久久久 | 99精品视频一区 | 丁香婷婷综合五月 | 亚洲激情婷婷 | 国产中文字幕视频在线观看 | 久久久www成人免费毛片麻豆 | 91视频午夜 | 天天狠狠干 | 国产91aaa| 久久国内免费视频 | 亚洲高清激情 | 91精品视频免费观看 | 日韩网站视频 | 亚洲国产美女精品久久久久∴ | 亚洲成人av一区二区 | 国产精品完整版 | 亚洲91av| 亚洲资源| 国产精品手机在线播放 | 久久五月天综合 | 日日碰狠狠添天天爽超碰97久久 | 国内丰满少妇猛烈精品播 | 国产日韩视频在线观看 | 久久亚洲成人网 | 99久久激情 | 麻豆激情电影 | 中文字幕在线不卡国产视频 | 成人黄性视频 | 狠狠狠色丁香婷婷综合激情 | 午夜影院在线观看18 | 99久久久久国产精品免费 | 少妇搡bbb | 五月婷婷六月丁香激情 | 中文字幕刺激在线 | 91视频免费看片 | 免费网站在线观看成人 | 夜夜嗨av色一区二区不卡 | 六月色婷 | 粉嫩高清一区二区三区 | 六月婷操 | 久久久久久福利 | 日韩欧美综合在线视频 | 综合激情久久 | 国产一区二区久久精品 | 91精品夜夜 | 97精品国产一二三产区 | 四虎最新入口 | 天天艹天天干天天 | 日韩在线色 | 精品在线你懂的 | www激情网| 久久久久欧美精品999 | 天天做天天干 | 超碰在线1 | 免费日韩 精品中文字幕视频在线 | 亚洲电影图片小说 | 国产首页 | 在线观看视频在线观看 | 国产亚洲精品久久久网站好莱 | 久久精品79国产精品 | 国产成人精品午夜在线播放 | 久久久黄色av | 久久国产成人午夜av影院宅 | 日本在线观看视频一区 | 国产黄色一级大片 | 综合天天网| 久久五月精品 | 欧美日韩天堂 | 色综合咪咪久久网 | 人人干人人超 | 在线观看网站av | 日本久久久影视 | 日日碰狠狠添天天爽超碰97久久 | 911久久 | 成人福利在线观看 | 日韩在线中文字幕视频 | 国产在线传媒 | 午夜精品福利一区二区 | 麻豆免费视频网站 | 特级毛片aaa | 国产日产精品一区二区三区四区的观看方式 | 日韩精品中文字幕av | 日韩视频中文 | 青青河边草免费观看 | 91在线看 | 欧美一区二区三区在线视频观看 | 玖玖在线资源 | 色搞搞| 91亚色视频 | 欧美a在线看 | 最近更新好看的中文字幕 | 精品久久久久国产免费第一页 | 日本中文字幕观看 | 18久久久久| 99久久精品电影 | 亚洲天天综合网 | 久草视频在线新免费 | 日韩av在线一区二区 | 天天草天天操 | 午夜美女福利直播 | 国产成人三级 | 国产亚洲情侣一区二区无 | 日本黄色免费看 | 91亚洲影院| 狠狠干2018 | 久久精品首页 | 麻豆视频国产精品 | 99超碰在线播放 | 国产日韩中文字幕在线 | 在线视频app| 中文字幕av专区 | 中中文字幕av在线 | 在线看国产精品 | 精品国产乱码久久久久久久 | 狠狠色噜噜狠狠狠狠2022 | 久久精品国产99国产 | 很黄很黄的网站免费的 | 成人久久视频 | 麻豆传媒一区二区 | 国产精品久久久久久久久久久久午 | 日韩在线观看视频免费 | 麻豆传媒精品 | 韩国av在线 | 麻豆国产在线播放 | 精品一区二区6 | 成人网在线免费视频 | 亚洲精品成人 | h网站免费在线观看 | 日韩视频免费在线 | 91av视频 | 91精品视频一区二区三区 | 干干日日 | 日本久久免费视频 | 免费高清无人区完整版 | 亚洲欧美成人综合 | 久久国产精品久久精品 | 去看片 | 2018好看的中文在线观看 | 国产手机在线精品 | 国产最顶级的黄色片在线免费观看 | 精品高清美女精品国产区 | 久久久美女 | 国产呻吟在线 | 国产一区高清在线观看 | 999热线在线观看 | 国产精品手机看片 | av一区在线播放 | 成人一级片在线观看 | 日日爽夜夜操 | 一区二区三区在线免费播放 | 精品在线观看一区二区 | 亚洲成成品网站 | 黄色在线免费观看网站 | 久久久久久久久久久免费 | 最新超碰在线 | 午夜精品久久久久久99热明星 | 欧美色图狠狠干 | 日韩com| 一区二区中文字幕在线观看 | 久久久国产影院 | 日韩免费观看视频 | 欧美日本不卡高清 | 99视屏 | 九九九在线观看 | 五月婷婷在线观看视频 | 日韩视频一区二区三区在线播放免费观看 | 美女免费网视频 | 日本深夜福利视频 | 麻豆成人精品 | 一级黄色片在线 | 高清免费在线视频 | 久久国产美女视频 | 国产精品mv| www.亚洲精品在线 | 在线黄色国产 | 国产男女爽爽爽免费视频 | 日韩福利在线观看 | 不卡的av电影在线观看 | 午夜.dj高清免费观看视频 | 99免在线观看免费视频高清 | 黄色成人免费电影 | 亚洲国产成人在线播放 | 国产精品久久久久999 | 国产视频18 | 99视频在线精品国自产拍免费观看 | 国产精品视频一二三 | 国产99久久九九精品免费 | 精品国产精品久久一区免费式 | av成人免费 | 丁香九月婷婷 | 亚洲国产精品久久 | 久久99精品国产99久久6尤 | 久视频在线播放 | 国产精品久久9 | 波多野结衣在线视频免费观看 | 欧美日本不卡 | 成人av播放 | 久久草在线视频国产 | 国产尤物视频在线 | 国产成人一区二区三区 | 国产亚洲视频在线观看 | 婷婷色在线 | 狠狠操.com| 亚洲一级黄色 | 日本久久中文 | 色悠悠久久综合 | 在线看av的网址 | 国产探花 | 久久99九九99精品 | www.99热精品 | 日韩欧美高清一区二区三区 | 国产在线精品区 | 成人午夜性影院 | 色婷婷狠狠五月综合天色拍 | 免费视频黄 | 成人一区二区三区中文字幕 | 欧美日韩精品在线 | 中文字幕影片免费在线观看 | 麻豆mv在线观看 | 日韩在线免费看 | 久草男人天堂 | 免费看成人 | 国产精品美女久久久久aⅴ 干干夜夜 | 三级av网站 | 中文字幕婷婷 | 亚洲男男gaygayxxxgv| 免费亚洲精品 | 精品天堂av | 亚洲人在线 | 国模吧一区 | 新版资源中文在线观看 | 亚洲精品99久久久久久 | 午夜视频在线观看一区二区三区 | a v在线视频 | 在线观看免费av网 | 99热9| 亚洲欧美日韩国产精品一区午夜 | 狠狠操狠狠干天天操 | 精品免费99久久 | 日韩av伦理片| 国产精品嫩草在线 | 久久国产手机看片 | 国产亚洲精品久久久久久移动网络 | 在线观看av片 | 国产色在线观看 | 亚洲精品国产精品国自产观看 | 中国一级片在线 | 一区二区欧美日韩 | 看片一区二区三区 | 免费在线观看av网址 | 久热久草在线 | 中文字幕在线观看三区 | 91精品一区二区三区久久久久久 | 色婷婷福利 | 久久av网址 | 日韩精品一区二区三区免费观看视频 | 国产玖玖在线 | www.久久视频 | 欧美大片在线看免费观看 | 综合在线观看 | 国产福利一区二区三区在线观看 | 国产一二区在线观看 | 国产又粗又猛又黄 | 97av在线视频| 日韩在线视 | 中文字幕在线观看一区 | 日韩免费在线网站 | 91综合视频在线观看 | 日韩中文字幕电影 | 91大神dom调教在线观看 | 国产做a爱一级久久 | 99re中文字幕| 女女av在线| 日日干天夜夜 | 97视频免费观看 | 国产裸体视频bbbbb | 91免费国产在线观看 | 999久久久久久久久6666 | 九九九热| 99在线精品免费视频九九视 | 国产专区精品视频 | av免费观看高清 | 日韩精品视频免费在线观看 | 天天干天天在线 | 欧美日韩一区二区在线 | 亚洲黄色影院 | 在线观看免费视频你懂的 | 婷婷在线免费 | 久久精品免费播放 | 五月婷婷激情六月 | 久久久香蕉视频 | 在线视频区 | 香蕉在线观看视频 | 成人在线免费观看视视频 | 一级电影免费在线观看 | 五月开心婷婷 | 久久久久免费观看 | 日韩在线电影观看 | 久草视频免费在线播放 | 久草在线99 | 久久草在线免费 | 麻豆91在线 | 久久激情婷婷 | 国产精品人人做人人爽人人添 | 久久五月天综合 | 日韩欧美高清一区二区 | 亚洲一区美女视频在线观看免费 | 天天草天天插 | 国产精品高清一区二区三区 | 免费看的毛片 | www狠狠操 | 亚洲精品乱码久久久久 | 国产精品一区电影 | 黄色a级片在线观看 | 天无日天天操天天干 | 国产在线中文 | 在线99视频| a电影免费看 | 激情网综合 | 在线激情影院一区 | 人人爽影院 | 婷婷丁香激情网 | 视频在线观看一区 | 天天操夜 | 中文字幕日韩免费视频 | 开心激情综合网 | 成人午夜剧场在线观看 | 激情五月婷婷综合网 | 九九免费精品视频在线观看 | 国产精品久久久久婷婷二区次 | 国产v在线| 69xxxx欧美| 人人超碰在线 | 亚洲1级片 | 波多野结衣精品在线 | 久久久亚洲精华液 | 99精品国自产在线 | 色综合天天在线 | 国产福利资源 | 99精品视频免费全部在线 | 亚洲日韩欧美一区二区在线 | 日韩高清在线一区 | 日韩欧美在线观看 | 婷婷六月天在线 | 麻豆91精品91久久久 | 91 中文字幕 | 午夜av免费观看 | 99久久久精品| 在线 日韩 av| 久久精品99 | 99热这里只有精品免费 | 成人性生交大片免费观看网站 | 九九视频这里只有精品 | 国产精品不卡av | 亚洲欧美乱综合图片区小说区 | 成人av在线资源 | 精品一区中文字幕 | 丁香六月婷婷激情 | 亚洲国产黄色片 | 热久久视久久精品18亚洲精品 | 国产精品自产拍在线观看蜜 | 西西大胆免费视频 | 96亚洲精品久久 | 久久久国产视频 | 福利视频| 日韩欧美视频免费在线观看 | 狠狠亚洲 | 国产91九色视频 | 欧美日韩二三区 | 亚洲色图27p | 国产欧美精品在线观看 | 超碰在线国产 | 黄色网址国产 | 国产在线中文字幕 | 成人在线网站观看 | 亚洲伦理电影在线 | av免费在线网站 | 国产理论在线 | 夜色资源站国产www在线视频 | 色婷婷av一区二 | 91av在线看 | 日日躁夜夜躁xxxxaaaa | 国产五月色婷婷六月丁香视频 | 国产成人黄色网址 | 国产理论一区二区三区 | 天天操天天干天天玩 | 色综合天天| 黄色网在线播放 | 在线免费三级 | 欧美老人xxxx18 | 久久久久久久久久久免费 | 久久精品国产一区二区电影 | 免费看一级片 | 国产精品免费观看在线 | 91人人揉日日捏人人看 | 97理论电影 | 亚洲视频 视频在线 | 日本不卡一区二区三区在线观看 | 91精品久久久久久久99蜜桃 | 国产精品原创 | 日韩欧美网址 | 国产资源网站 | 女人18毛片90分钟 | 97精品久久 | 在线视频中文字幕一区 | 国产精品观看视频 | 日韩精品一区在线观看 | 欧美一区日韩一区 | 九九在线免费视频 | 中文字幕色综合网 | www狠狠| 国产精品精品久久久久久 | 亚洲一区精品二人人爽久久 | 在线观看欧美成人 | 四虎成人精品 | 日韩欧美91 | 天堂久久电影网 | 久草免费新视频 | 久久久电影网站 | 精品99久久久久久 | 黄色小说免费观看 | 婷婷精品国产欧美精品亚洲人人爽 | 国产亚洲欧美精品久久久久久 | 日韩欧美在线国产 | 人人澡视频 | 97在线观看免费观看高清 | 天天综合网在线 | 国产不卡视频 | 中文免费在线观看 | 色网站在线免费 | 在线观看片 | 人人爽网站| 人成午夜视频 | 亚洲国产成人精品在线 | 成人va天堂 | av电影免费在线看 | 免费在线观看视频a | 在线播放视频一区 | 色婷婷综合激情 | 黄色成人毛片 | 久草久草在线 | 成人免费毛片aaaaaa片 | 天天色天天操天天爽 | 日韩理论在线播放 | 五月天久久婷 | 黄免费网站| 亚洲欧洲精品一区二区 | 国产精品99久久久久久人免费 | 69精品人人人人 | 日韩成人精品一区二区 | 亚洲专区免费观看 | 欧美黄污视频 | 国产成人三级在线播放 | 九九热免费在线视频 | 国产一级视屏 | 欧美福利视频一区 | 日日摸日日添日日躁av | 亚洲电影影音先锋 | 国产精品自产拍在线观看蜜 | 黄色小说免费在线观看 | 国产又粗又猛又色 | 国产精品国产三级在线专区 | 亚洲永久字幕 | 手机版av在线 | 国产99久久久国产精品免费看 | av大片免费 | 久久老司机精品视频 | av电影亚洲 | 欧美日韩精品区 | 91免费国产在线观看 | 99国产一区二区三精品乱码 | 日韩亚洲国产中文字幕 | 美女视频黄是免费的 | 丁香综合av| 黄色高清视频在线观看 | 亚洲视频高清 | 五月婷婷,六月丁香 | 国产成人一区二区三区久久精品 | 91丝袜美腿| 日p视频在线观看 | 日韩精品免费在线观看 | 国产成人av片 | 亚洲精品视频在线播放 | 九九热免费在线视频 | 国产精品一区二区三区观看 | 亚洲人成综合 | 99av国产精品欲麻豆 | 亚州国产视频 | 天天射天天干天天插 | 国产91精品看黄网站在线观看动漫 | 性色va| 九九免费在线观看 | 亚洲另类视频在线观看 | 四虎成人精品在永久免费 | 九色精品免费永久在线 | 精品国产伦一区二区三区观看说明 | 激情电影影院 | 97精品国产91久久久久久久 | 99 色| 欧美日韩久 | 国产va饥渴难耐女保洁员在线观看 | 青草视频在线播放 | free. 性欧美.com | 黄色www| 草久中文字幕 | 久久avav| 中文字幕在 | 成人午夜黄色 | 国产在线观看免费 | 国产剧情在线一区 | h视频在线看 | 色中色综合 | 超级碰碰碰免费视频 | 免费日韩三级 | 99在线精品观看 | 亚洲成人资源网 | 天天操天天操一操 | 成人性生爱a∨ | 欧美嫩草影院 | 久久免费视频在线观看6 | 国产一区视频在线观看免费 | 久久久久欧美精品 | 日韩系列| 久草在线免费播放 | 国产经典 欧美精品 | 国产v在线 | 久热免费| 激情视频一区 | 天天综合网久久 | 在线看小早川怜子av | 不卡的av电影 | 超碰公开在线观看 | 伊甸园永久入口www 99热 精品在线 | 国产一区二区日本 | 四虎国产精品成人免费影视 | 国产高清视频免费最新在线 | 国产成人在线观看免费 | 成人免费在线看片 | 成年人在线免费视频观看 | 亚洲一区二区三区91 | av动图| 九九热1| 天天碰天天操视频 | 麻豆视频在线免费观看 | 午夜色影院 | 日韩美一区二区三区 | 精品视频123区在线观看 | 国产视频久久久 | 精品福利视频在线观看 | 在线观看日韩免费视频 | 欧美日韩不卡一区 | 欧美韩日视频 | 欧美性天天| 成人免费在线观看电影 | 六月色丁香 | 日韩专区在线 | 日本aa在线 | 免费看色视频 | 特级毛片在线 | 一级片色播影院 | 97视频在线观看网址 | av网站在线观看免费 | 最近的中文字幕大全免费版 | 精品99视频| 精品国产一区二区三区久久久蜜月 | 手机成人在线电影 | 狠狠色噜噜狠狠狠合久 | 中文字幕视频网站 | 97香蕉超级碰碰久久免费软件 | 亚洲一区二区三区四区在线视频 | av丝袜天堂 | 天天操天天射天天操 | 91超碰免费在线 | 激情综合啪啪 | 日日夜夜狠狠干 | 成年人视频在线 | 亚洲另类在线视频 | 亚洲爽爽网 | 婷婷伊人五月 | 久久精品久久国产 | 天天操天天干天天操天天干 | 欧美另类成人 | 香蕉网在线观看 | 成人av免费网站 | 婷婷亚洲五月 | 天天操操操操操 | 日韩毛片久久久 | 久久综合干 | 日本三级中文字幕在线观看 | 久久久久电影 | 日日夜操 | 欧美日本不卡 | 国产精品18久久久久久vr | 2000xxx影视 | 国产护士av| 国产一区二区高清视频 | 91中文在线观看 | 天天综合视频在线观看 | 伊人婷婷综合 | 在线观看视频精品 | 久久久久成人免费 | 五月婷婷综合激情 | 国产又粗又猛又色又黄网站 | 亚洲成年人在线播放 | 国产丝袜高跟 | 免费在线观看日韩 | 97视频在线观看免费 | 激情网五月婷婷 | 天堂av在线| 成年人视频在线观看免费 | 99精品国产成人一区二区 | 97在线免费观看视频 | 日日射av | 色婷婷激情电影 | av在线中文 | 婷婷色网 | 超碰在线97免费 | 久久视频精品 | 99精品在线播放 | 91热视频| 久久dvd| 久久九九视频 | 亚洲国产精品电影在线观看 | 日韩精品一区二区三区外面 | 欧美日韩aaaa | 欧美一区二区三区激情视频 | 免费av网站在线 | 最近更新好看的中文字幕 | 午夜国产一区二区三区四区 | 黄色av电影免费观看 | 毛片区 | 久久国产亚洲精品 | 一区二区三区观看 | 青草视频在线播放 | 欧美日韩在线观看一区二区 | 日日爱影视 | www.成人精品 | 日本成人中文字幕在线观看 | 亚洲视频在线看 | 91九色porn在线资源 | 国产精品久久久久久久妇 | www.精选视频.com| 日韩免费中文 | 国产品久精国精产拍 | 欧美亚洲成人免费 | 国产福利中文字幕 | 国产高清在线一区 | 日韩成人看片 | 午夜999| 国产精品va | 日本少妇视频 | 91大神dom调教在线观看 | 国产最新在线视频 | 国产自偷自拍 | 97电影在线观看 | 精品国产乱码久久久久久久 | 91麻豆精品国产91久久久久久久久 | 天天综合天天做天天综合 | 亚洲国产精品500在线观看 | 欧美坐爱视频 | 色网免费观看 | 免费网址你懂的 | 国产一级特黄毛片在线毛片 | 成人av网站在线 | 日韩中文字幕免费看 | 日本久久高清视频 | 亚洲精品午夜国产va久久成人 | 日韩精品免费一线在线观看 | 一级黄色大片在线观看 | 国产视频一区在线 | 在线婷婷 | 日日弄天天弄美女bbbb | 一区二区视频免费在线观看 | 日韩乱理 | 天天操天天综合网 | 看黄色.com| 五月婷婷免费 | 中文字幕在线观看视频一区 | 成人av电影在线播放 | 亚洲综合在线五月天 | 最近日本字幕mv免费观看在线 | 亚洲免费av片 | 免费在线观看成人av | 久久精品99国产精品酒店日本 | 亚洲电影一级黄 | 国产精品久久久久久麻豆一区 | 天天射射天天 | 最新日韩中文字幕 | 国产亚洲欧洲 | 日韩91在线 | 国产淫片 | 精品国精品自拍自在线 | 99视频偷窥在线精品国自产拍 | 国产精品国产亚洲精品看不卡15 | 成人av资源网站 | 黄污在线观看 | 夜夜夜夜夜夜操 | 96国产精品| 六月激情网 |