日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Delphi > 正文

NeHe的opengl教程delphi版(8)----簡單的透明

2019-11-18 18:30:21
字體:
來源:轉載
供稿:網友
 

{

呵呵,這兩課早就翻譯好了,一直沒貼,大家久等了(有人再等嗎?)

簡單的透明
OpenGL中的絕大多數特效都與某些類型的(色彩)混合有關。
混色的定義為,將某個象素的顏色和已繪制在屏幕上與其對應的象素顏色相互結合。
至于如何結合這兩個顏色則依賴于顏色的alpha通道的分量值,以及/或者所使用的混色函數。
Alpha通常是位于顏色值末尾的第4個顏色組成分量。
前面這些課我們都是用GL_RGB來指定顏色的三個分量。
相應的GL_RGBA可以指定alpha分量的值。
更進一步,我們可以使用glColor4f()來代替glColor3f()。

絕大多數人都認為Alpha分量代表材料的透明度。
這就是說,alpha值為0.0時所代表的材料是完全透明的。
alpha值為1.0時所代表的材料則是完全不透明的。

混色的公式
若您對數學不感冒,而只想看看如何實現透明,請跳過這一節。
若您想深入理解(色彩)混合的工作原理,這一節應該適合您吧。
『CKER的補充:其實并不難^-^。原文中的公式如下,CKER再嘮叨一下吧。
其實混合的基本原理是就將要分色的圖像各象素的顏色以及背景顏色均按照RGB規則各自分離之后,
根據-圖像的RGB顏色分量*alpha值+背景的RGB顏色分量*(1-alpha值)
-這樣一個簡單公式來混合之后,最后將混合得到的RGB分量重新合并。』

公式如下:
(Rs Sr + Rd Dr, Gs Sg + Gd Dg, Bs Sb + Bd Db, As Sa + Ad Da)
OpenGL按照上面的公式計算這兩個象素的混色結果。
小寫的s和r分別代表源象素和目標象素。大寫的S和D則是相應的混色因子。
這些決定了您如何對這些象素混色。
絕大多數情況下,各顏色通道的alpha混色值大小相同,
這樣對源象素就有 (As, As, As, As),
目標象素則有1, 1, 1, 1) - (As, As, As, As)。
上面的公式就成了下面的模樣:
(Rs As + Rd (1 - As), Gs As + Gd (1 - As), Bs As + Bs (1 - As), As As + Ad (1 - As))
這個公式會生成透明/半透明的效果。

OpenGL中的混色
在OpenGL中實現混色的步驟類似于我們以前提到的OpenGL過程。
接著設置公式,并在繪制透明對象時關閉寫深度緩存。
因為我們想在半透明的圖形背后繪制 對象。
這不是正確的混色方法,但絕大多數時候這種做法在簡單的項目中都工作的很好。

Rui Martins 的補充: 正確的混色過程應該是先繪制全部的場景之后再繪制透明的圖形。
并且要按照與深度緩存相反的次序來繪制(先畫最遠的物體)。
考慮對兩個多邊形(1和2)進行alpha混合,不同的繪制次序會得到不同的結果。
(這里假定多邊形1離觀察者最近,那么正確的過程應該先畫多邊形2,再畫多邊形1。
正如您再現實中所見到的那樣,
從這兩個<透明的>多邊形背后照射來的光線總是先穿過多邊形2,
再穿過多邊形1,最后才到達觀察者的眼睛。)
在深度緩存啟用時,您應該將透明圖形按照深度進行排序,
并在全部場景繪制完畢之后再繪制這些透明物體。否則您將得到不正確的結果。
我知道某些時候這樣做是很令人痛苦的,但這是正確的方法。

我們將使用第七課的代碼。
一開始先在代碼開始處增加兩個新的變量。出于清晰起見,我重寫了整段代碼。

}
Var
   h_RC             : HGLRC;            // Rendering Context(著色描述表)。
   h_DC             : HDC;              // Device Context(設備描述表)
   h_Wnd            : HWND;             // 窗口句柄
   h_Instance       : HINST;            // 程序Instance(實例)。
   keys             : Array[0..255] Of Boolean; // 用于鍵盤例程的數組

   light            : Boolean;          // 光源的開/關

   blend            : Boolean;          // Blending OFF/ON? ( 新增 )

   lp               : Boolean;          // L鍵按下了么?
   fp               : Boolean;          // F鍵按下了么?

   bp               : Boolean;          // B 鍵按下了么? ( 新增 )

   xrot             : GLfloat;          // X 旋轉
   yrot             : GLfloat;          // Y 旋轉
   xspeed           : GLfloat;          // X 旋轉速度
   yspeed           : GLfloat;          // Y 旋轉速度

   z                : GLfloat = -5.0 f; // 深入屏幕的距離
   LightAmbient     : Array[0..3] Of GLfloat = (0.5, 0.5, 0.5, 1.0);  //環境光參數 ( 新增 )
   LightDiffuse     : Array[0..3] Of GLfloat = (1.0, 1.0, 1.0, 1.0);  // 漫射光參數 ( 新增 )
   LightPosition    : Array[0..3] Of GLfloat = (0.0, 0.0, 2.0, 1.0);  // 光源位置 ( 新增 )
   filter           : GLuint;           // 濾波類型
   texture          : Array[0..2] Of GLuint; // 3種紋理的儲存空間

PRocedure glGenTextures(n: GLsizei; Var textures: GLuint); stdcall; external
   opengl32;

Procedure glBindTexture(target: GLenum; texture: GLuint); stdcall; external
   opengl32;

Function gluBuild2DMipmaps(target: GLenum; components, width, height: GLint;
   format, atype: GLenum; data: Pointer): Integer; stdcall; external glu32 name
   'gluBuild2DMipmaps';

{
然后往下移動到 LoadGLTextures() 這里。
找到 if (TextureImage[0]=LoadBMP('Data/Crate.bmp'))
這一行。我們現在使用有色玻璃紋理來代替上一課中的木箱紋理。
if (TextureImage[0]=LoadBMP("Data/glass.bmp")); // 載入玻璃位圖 ( 已修改 )
}

Function LoadTexture: boolean;          // 載入位圖并轉換成紋理
Var
   Status           : boolean;          // Status 指示器
   TextureImage     : Array[0..1] Of PTAUX_RGBImageRec; // 創建紋理的存儲空間
Begin
   Status := false;
   ZeroMemory(@TextureImage, sizeof(TextureImage)); // 將指針設為 NULL
   TextureImage[0] := LoadBMP('Walls.bmp');
   If TextureImage[0] <> Nil Then
      Begin
         Status := TRUE;                // 將 Status 設為 TRUE
         glGenTextures(1, texture[0]);  // 創建紋理
         // 創建 Nearest 濾波貼圖
         glBindTexture(GL_TEXTURE_2D, texture[0]);
         // 生成紋理
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);  // ( 新增 )
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);  // ( 新增 )

         glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0].sizeX,
            TextureImage[0].sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE,
            TextureImage[0].data);
         glBindTexture(GL_TEXTURE_2D, texture[1]);  // 使用來自位圖數據生成 的典型紋理
         // 生成紋理
         glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0].sizeX,
            TextureImage[0].sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE,
            TextureImage[0].data);
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);  // 線形濾波
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);  // 線形濾波
         // 創建 MipMapped 紋理
         glBindTexture(GL_TEXTURE_2D, texture[2]);
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
            GL_LINEAR_MIPMAP_NEAREST);  // ( 新增 )
         gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0].sizeX,
            TextureImage[0].sizey, GL_RGB, GL_UNSIGNED_BYTE,
            TextureImage[0].data);      //(新增)  }
      End;
   If assigned(TextureImage[0]) Then    // 紋理是否存在
      If assigned(TextureImage[0].data) Then // 紋理圖像是否存在
         TextureImage[0].data := Nil;   // 釋放紋理圖像占用的內存
   TextureImage[0] := Nil;              // 釋放圖像結構
   result := Status;                    // 返回 Status
End;

{
在glInit()代碼段加入以下兩行。
第一行以全亮度繪制此物體,并對其進行50%的alpha混合(半透明)。
當混合選項打開時,此物體將會產生50%的透明效果。
第二行設置所采用的混合類型。

Rui Martins 的補充:
alpha通道的值為 0.0意味著物體材質是完全透明的。
1.0 則意味著完全不透明。
}

Procedure glInit();                     // 此處開始對OpenGL進行所有設置
Begin
   If (Not LoadTexture) Then            // 調用紋理載入子例程
      exit;                             // 如果未能載入,退出

   glEnable(GL_TEXTURE_2D);             // 啟用紋理映射
   glShadeModel(GL_SMOOTH);             // 啟用陰影平滑
   glClearColor(0.0, 0.0, 0.0, 0.0);    // 黑色背景
   glClearDepth(1.0);                   // 設置深度緩存
   glEnable(GL_DEPTH_TEST);             // 啟用深度測試
   glDepthFunc(GL_LESS);                // 所作深度測試的類型
   glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); //高度優化的透視投影計算
   glLightfv(GL_LIGHT1, GL_AMBIENT, @LightAmbient[0]); // 設置環境光
   glLightfv(GL_LIGHT1, GL_DIFFUSE, @LightDiffuse[0]); // 設置漫射光
   glLightfv(GL_LIGHT1, GL_POSITION, @LightPosition); // 光源位置
   glEnable(GL_LIGHT1);                 // 啟用一號光源

   glColor4f(1.0, 1.0, 1.0, 0.5);       // 全亮度, 50% Alpha 混合( 新增 )
   glBlendFunc(GL_SRC_ALPHA, GL_ONE); // 基于源象素alpha通道值的半透明混合函數 ( 新增 )

End;

 {在接近第七課結尾處的地方找到下面的代碼段。
                  If keys[VK_LEFT] Then    //Left方向鍵按下了么?
                  yspeed := yspeed - 0.01; //若是, 減少yspeed
                接著上面的代碼,我們增加如下的代碼。
                這幾行監視B鍵是否按下。
                如果是的話,計算機檢查混合選項是否已經打開。
                然后將其置為相反的狀態。
                }
               If (keys[ord('B')] And Not bp) Then //B 健按下且bp為 FALSE么?
                  Begin
                     bp := TRUE;        // 若是, bp 設為 TRUE
                     blend := Not blend; // 切換混合選項的 TRUE / FALSE
                     If (blend) Then    // 混合打開了么?
                        Begin
                           glEnable(GL_BLEND); // 打開混合
                           glDisable(GL_DEPTH_TEST); // 關閉深度測試
                        End
                     Else               // 否則
                        Begin
                           glDisable(GL_BLEND); // 關閉混合
                           glEnable(GL_DEPTH_TEST); // 打開深度測試
                        End;
                  End;
               If (Not keys[ord('B')]) Then //  B 鍵松開了么?
                  Begin
                     bp := FALSE;       // 若是, bp設為 FALSE
                  End;
               {
               但是怎樣才能在使用紋理貼圖的時候指定混合時的顏色呢?很簡單,
               在調整貼圖模式時,文理貼圖的每個象素點的顏色都是由alpha通道參數
               與當前地象素顏色相乘所得到的。
               比如,繪制的顏色是 (0.5, 0.6, 0.4),
               我們會把顏色相乘得到(0.5, 0.6, 0.4, 0.2)
                (alpha參數在沒有指定時,缺省為零)。
               就是如此!OpenGL實現Alpha混合的確很簡單!
               }
               {
                原文注 (11/13/99)
                我(NeHe)混色代碼進行了修改,以使顯示的物體看起來更逼真。
                同時對源象素和目的象素使用alpha參數來混合,會導致物體的人造痕跡看起來很明顯。
                會使得物體的背面沿著側面的地方顯得更暗。
                基本上物體會看起來很怪異。
                我所用的混色方法也許不是最好的,但的確能夠工作。
                啟用光源之后,物體看起來很逼真。
                感謝Tom提供的原始代碼,他采用的混色方法是正確的,
                但物體看起來并不象所期望的那樣吸引人:)
                代碼所作的再次修改是因為在某些顯卡上glDepthMask()函數存在尋址問題。
                這條命令在某些卡上啟用或關閉深度緩沖測試時似乎不是很有效,
                所以我已經將啟用或關閉深度緩沖測試的代碼轉成老式的glEnable和glDisable。

                紋理貼圖的Alpha混合
                用于紋理貼圖的alpha參數可以象顏色一樣從問題貼圖中讀取。
                方法如下,您需要在載入所需的材質同時取得其的alpha參數。
                然后在調用glTexImage2D()時使用GL_RGBA的顏色格式。
               }


上一篇:NeHe的opengl教程delphi版(9)----星星

下一篇:Delphi代碼創建形式規范

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

日本黄色一区二区| 不卡中文一二三区| 欧美日韩中文字幕日韩欧美| 国产黄色在线观看| 国产91久久久久蜜臀青青天草二| 中文字幕在线日韩| 91精品国产综合久久香蕉最新版| 日韩亚洲欧美中文三级| 精品国产免费视频| 欧美日韩精品在线视频| 精品福利在线观看| 色猫猫国产区一区二在线视频| 久久91精品久久久久久秒播| 国产一区成人| 拍真实国产伦偷精品| 亚洲影视资源网| 亚洲一区中文在线| 日韩精品一二三四区| 中文在线视频| 欧美日韩中文字幕| 精品一区二区三区中文字幕在线| 亚洲一区在线观看免费| 日韩一级网站| 不卡av免费在线| 中文av字幕一区| 美日韩精品免费视频| 麻豆精品99| 欧美日韩国产影片| 日韩精品手机在线| 亚洲成av人片| 亚洲视频日韩| 免费视频久久| 日韩欧美资源站| 日韩a一区二区| 日韩中文字幕视频在线观看| 激情综合色综合久久| aa国产成人| 日韩不卡一区二区| 欧美中文字幕在线视频| 欧美日韩国产高清一区| 亚洲欧美视频一区二区三区 | 精品三级在线| 亚洲羞羞网站| aaa欧美日韩| 日韩专区中文字幕| 国产字幕中文| 精品亚洲国内自在自线福利| 中文字幕精品在线| 欧美一级久久| 中文字幕视频在线观看| 国产欧美综合在线| 国产日产一区二区| 国产区视频在线观看| 日韩免费视频一区二区| 欧美日韩亚洲第一| 日韩欧美一级在线播放| 天天综合色天天| 亚洲最新永久观看在线| 日韩欧美国产亚洲| 中文字幕在线播放一区| 精品视频在线视频| 欧美一级免费在线观看| 亚洲伊人婷婷| 亚洲乱码中文字幕| 欧美日韩国产91| 亚洲一区精品在线| 老司机久久99久久精品播放免费| 欧美日韩国产第一页| 亚洲三级欧美| 欧美日韩中文字幕一区| 欧美乱大交xxxxx另类| 国产亚洲短视频| 国产劲爆久久| 精品全国在线一区二区| 亚洲欧美伊人| 国产成人精品日本亚洲专区61 | 日韩欧美综合在线视频| 日韩中文字幕视频网| 欧美日韩综合高清一区二区| 国产丝袜一区二区| 国产欧美日产一区| 99在线国产| 欧美日韩高清不卡| 红桃视频国产一区| 天堂在线视频中文网| 刘玥91精选国产在线观看| 久久精品久久精品国产大片| 日韩视频中文| 中文字幕在线观看亚洲| 一区二区视频国产| 国产传媒久久久| 日韩高清不卡一区二区| 国产小视频在线观看免费| 国产视频2区| 天堂在线一区二区三区| 91精品综合久久久久久| 搞黄在线观看| 欧美日韩国产高清视频| 欧美大片在线观看一区| 中文字幕日韩欧美| 国产黄色在线播放| 日韩精品欧美| 国产不卡在线| 欧美性极品xxxx做受| av免费在线播放| 国产 欧美在线| 91精品在线观看入口| 久久99久久久久久久噜噜| 国产激情在线| 中文字幕亚洲二区 | 免费视频中文字幕| 91精品免费看| 亚洲高清在线免费| 在线看av的网址| 久久精品国产视频| 91精品国产调教在线观看| 国产免费久久久| 日本精品福利视频| 国产区日韩欧美| 蜜桃精品视频| 日韩久久精品视频| 欧美三级日韩在线| 欧美日中文字幕| 一级片在线播放| 欧美日韩综合色| 麻豆精品99| 国产一区成人| 国产黄色在线看| 欧美日韩国产观看视频| 日韩欧美色综合| 欧美日韩国产999| 不卡福利视频| 日韩三级精品电影久久久| 亚洲一二三不卡| 国产日韩av一区| 国产综合精品在线| 亚洲一卡二卡在线观看| 国产高清在线一区| 91色在线看| 亚洲欧美99| 国产拍揄自揄精品视频麻豆| 国产欧美中文在线| 国产欧美日韩中文字幕在线| 中文字幕在线欧美| 久久视频www| 亚洲免费在线观看av| 久久婷婷中文字幕| 天堂在线一区二区三区| 亚洲欧美视频一区二区三区 | 91av久久久| 亚洲乱码视频| 欧美三级三级三级爽爽爽| 国产一级在线播放| 日韩三级高清在线| 欧美一级在线免费| 中文字幕国产欧美| 国产黄色在线观看| 亚洲欧美韩国综合色| 97国产视频| 国产一级一片免费播放| 蜜桃久久av| 精品在线一区二区| www中文字幕在线观看| 免费在线视频一级不卡| 国产福利免费观看| 成人a在线观看| 日韩精品福利视频| 国产99在线 | 亚洲| 一区二区三区高清在线| 国产成人精品免费网站| 国产成人日日夜夜| 中文字幕在线观看网址| 国产字幕在线看| 亚洲免费福利视频| 亚洲欧洲国产视频| 99久久精品国产成人一区二区| 中文字幕2020第一页| 久99久视频| 久久精品国产成人一区二区三区| 日韩午夜黄色| 中文字幕 日韩 欧美| 国产黄在线观看免费观看不卡| 日韩精品视频在线播放| 天天综合天天添夜夜添狠狠添| 亚洲乱码中文字幕综合| 精品一区二区三区中文字幕在线| 亚洲国产无线乱码在线观看| 欧美日韩久久不卡| 中文字幕欧美日韩| 国产日韩在线视频| 欧美日韩精品在线| 日韩午夜中文字幕| 免费精品国产自产拍在| 国产永久在线观看| 91精品综合久久久久久| 亚洲女人天堂a在线播放| 国产黄色在线免费观看| 亚洲精品中文字幕乱码三区不卡| 国产综合成人久久大片91| 日韩在线不卡一区| 久久精品人妻一区二区三区| 欧美日韩免费不卡视频一区二区三区| 欧美日韩视频网站| 中文在线不卡| 欧美日韩国产中文| 日韩一级视频在线观看| 亚洲大片精品永久免费| 国产欧美在线观看| 免费视频一区三区| 欧美日韩精品区| 亚洲免费观看视频| 精品极品三级久久久久| 中文网丁香综合网| 日韩精品免费观看视频| 精品国产1区二区| a视频免费在线观看| 国产福利在线导航| 中文字幕视频一区二区三区久| 欧美 日韩 综合| 中文国产字幕在线观看| 国产在线欧美日韩| 欧美日韩国产首页在线观看| 国产手机精品视频| 日韩欧美一级精品久久| 欧美黄页在线免费观看| 拍真实国产伦偷精品| 欧美日韩视频免费播放| 日韩在线高清视频| 国产h片在线观看| 蜜桃精品在线| 7799精品视频天天看| 日韩在线二区| 美日韩精品免费视频| 国产1区在线| 99久久婷婷| 国产一区高清视频| 在线欧美一级视频| 欧美日韩国产高清一区| 天天综合天天综合| 亚洲成a人片在线www| 中文字幕五月欧美| 欧美va亚洲va日韩∨a综合色| 欧美变态tickling挠脚心| 一二三区精品视频| av免费在线观看网址| 亚洲大片精品永久免费| 国产高清精品在线| 精品福利在线观看| 日韩.欧美.亚洲| 欧美日韩中文字幕在线| 欧美一级搡bbbb搡bbbb| 欧美日本精品在线| 久久精品人妻一区二区三区| 欧美黄页在线免费观看| 久久91精品视频| 亚洲社区在线| 欧美三级精品| 欧美三级日韩三级国产三级| 欧美中文字幕在线视频| 日韩.欧美.亚洲| 国产视频一区二| 国产欧美 在线欧美| 成人a在线视频免费观看| 精品视频资源站| 日韩在线不卡一区| 高清1区2区| 免费看ww视频网站入口| 日韩欧美资源站| 中文字幕在线观看网址| 日韩在线观看视频一区二区| 91最新在线| 久久在线91| 日韩欧美中文字幕公布| 精品视频在线导航| 日韩欧美久久久| 国产黄在线观看免费观看不卡| 精品三级久久| 久久久99久久精品欧美| 免费高清特黄a大片| 中文字幕在线播放一区| 国产在线黄色| 日韩欧美中文字幕在线播放| 亚洲福利一区| 欧美在线视频一区二区| 91精品国产综合久久福利| 欧美日韩国产一级片| 亚洲免费在线观看av| 欧美中文字幕视频| 欧美亚洲另类制服自拍| 一级特黄aaa大片在线观看| 日韩三级在线播放| 搞黄在线观看| 中文字幕久久av| 一区二区视频在线| 国产 日韩 欧美 综合| 中文字幕视频一区二区三区久| 日韩不卡在线播放| 日韩精品在线观看视频| 日本精品免费观看高清观看| av一区二区高清| 日韩三级免费观看| 久久精品在线观看| 精品久久在线观看| 国产免费播放一区二区| 色综合天天综合网国产成人综合天| 国内精品露脸在线视频播放| 精品久久九九| 91精品日本| 中文av字幕一区| 午夜一区二区三区免费| 日韩久久精品视频| 欧美日韩成人一区二区| 日本熟女一区二区| 欧美1234区| 亚洲福利一区二区三区| 日本黄色一区二区| 亚洲国产91精品在线观看| 在线视频1区2区| 日韩视频在线观看一区| 亚洲一区在线视频观看| 欧美日韩在线不卡一区| 激情国产在线| av高清一区| 久久精品最新免费国产成人| 欧美日韩不卡在线视频| 精品视频999| 亚洲欧洲三级| 日本а中文在线天堂| 91精品国产综合久久久久久漫画 | 成人福利一区| 国产福利在线看| 欧美一级在线免费| 久久欧美中文字幕| 一级国产黄色片| 91精品国产99| 欧美三级一区二区三区| 国产色在线 com| 另类专区欧美| 欧美亚洲天堂| 国产免费永久在线观看| 欧美在线日韩在线| 欧美日韩国产综合视频在线观看 | 91麻豆精品国产91久久久使用方法 | 日韩欧美国产片| 国产中文在线播放| 亚州福利视频| 亚洲第一视频在线观看| 欧美中文字幕第一页| 国产一卡2卡3卡免费网站| 国产在线黄色| 欧美亚洲天堂| 91精品国产自产观看在线| 欧美日韩国产999| 婷婷久久综合网| 国产xxx在线| 免费看ww视频网站入口| 日韩在线精品视频| www.精品视频| 久久久精品福利| 欧美日韩国产91| 国产日韩成人精品| 精品日韩99亚洲| 一区二区三区免费看视频| 国产视频1区| 欧美日韩精品综合在线 | 精品国产乱码久久久久久蜜臀 | 亚洲国产欧美日韩精品| 精品视频123区在线观看| 日韩精品a在线观看91| 国产在线观看黄色| 91精品婷婷国产综合久久竹菊| 日本熟女一区二区| 久久人人88| 国产欧美日韩亚洲| 中文字幕亚洲高清| 日韩精品在线看| 亚洲免费观看在线观看| 成人a在线观看| 国产一卡2卡3卡免费网站| 日韩视频一区二区在线观看| av最新网址| 中文字幕欧美人妻精品一区蜜臀| 黄色片免费在线| 日韩久久精品视频| 欧美日韩精品是欧美日韩精品| 国产免费一级片| 中文字幕亚洲在| 国产偷国产偷亚洲清高网站| 精人妻一区二区三区| www日韩在线观看| 欧美日韩精品免费看| 天天综合天天添夜夜添狠狠添| 精品午夜av| 欧美成人一区二区| 日韩欧美在线中字| 亚洲欧美韩国综合色| 日韩欧美中文字幕在线视频| 欧美亚洲免费高清在线观看| 久久永久免费视频| 欧美亚洲视频在线看网址|