青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

(轉)glut函數詳解(1)--glut初始化API

*轉自:http://old.blog.edu.cn/user3/zjdukang/archives/2007/1751751.shtml
(1)    void glutInit(int *argc, char **argv);
     這個函數用來初始化GLUT庫.這個函數從main函數獲取其兩個參數.對應main函數的形式應是:int main(int argc,char* argv[]);
//*******************************************************************************************
(2)    void glutInitDisplayMode(unsigned int mode);
設置圖形顯示模式.參數mode的可選值為:
     GLUT_RGBA:當未指明GLUT—RGBA或GLUT—INDEX時,是默認使用的模式.表明欲建立RGBA模式的窗口.
     GLUT_RGB:與GLUT—RGBA作用相同.
     GLUT_INDEX:指明為顏色索引模式.
     GLUT_SINGLE:只使用單緩存
     GLUT_DOUBLE:使用雙緩存.以避免把計算機作圖的過程都表現出來,或者為了平滑地實現動畫.
     GLUT_ACCUM:讓窗口使用累加的緩存.
     GLUT_ALPHA:讓顏色緩沖區使用alpha組件.
     GLUT_DEPTH:使用深度緩存.
     GLUT_STENCIL:使用模板緩存.
     GLUT_MULTISAMPLE:讓窗口支持多例程.
     GLUT_STEREO:使窗口支持立體.
     GLUT_LUMINACE:luminance是亮度的意思.但是很遺憾,在多數OpenGL平臺上,不被支持.
//******************************************************************************************
(3)    void glutInitWindowPosition(int x, int y);
設置初始窗口的位置(窗口左上角相對于桌面坐標(x,y))
//******************************************************************************************
(4)    void glutInitWindowSize(int width, int height);
設置初始窗口的大小
//******************************************************************************************
(5)    void glutMainLoop(void);
讓glut程序進入事件循環.在一個glut程序中最多只能調用一次,且必須調用.一旦調用,會直到程序結束才返回.
//******************************************************************************************
(6)    void glutInitDisplayString(const char *string);
通過一個字符串初始化display mode
參數:string:display mode的描述字符串
這個描述字符串用在創建頂級窗口,子窗口和重疊層時,給將要被創建的窗口或重疊層設置display mode.
這個字符串是由0個或多個功能描述參數組成,每個功能描述參數用空格或tab鍵隔開.(若未給參數限制緩存精度大小,則采用默認值)

例如:
glutInitDisplayString("stencil~2 rgb double depth>=16 samples");
上例將窗口初始化為至少2位的模板緩存,RGB模式alpha占用位數為0,深度緩存至少為16位,如果平臺支持的話使用mutlisampling技術.
可以使用的符號有:
=   等號
!=  不等號
<   小于號(越小越好)
>   大于號(越大越好)
<=  小于等于(越小越好)
>=  大于等于(盡可能選擇大的數值,主要用于顏色緩存或深度緩存等對位數要求高的參數設置)
~   大于等于(但盡可能選擇小的數值,有效利用資源,主要用于模板緩存等)
 
主要參數:
alpha : alpaha緩存精度, 默認值>=1,即大于等于1位;
acca  : red, green, blue, 和alpha累積緩存精度, 默認值>=1
acc  :  red, green, blue累積緩存精度, 默認值>=1,alpha累積緩存精度為0;
blue :  blue顏色緩存精度, 默認值>=1;
buffer: 顏色索引緩存精度, 默認值>=1;
conformant :布爾值,指示幀緩存配置是否一致,該值基于GLX的EXT_visual_rationg擴展的支持,若不支持,則默認為一致, 默認值=1;
depth : 深度緩存精度, 默認值>=12;
double: 布爾值,指示顏色緩存是否是雙倍緩存. 默認值=1;
green : green顏色緩存精度,默認值>=1;
index : 布爾值,指示是否為顏色索引,true表示是顏色索引, 默認值>=1;
num  :  專用名詞,指示數值表示的第n個幀緩存配置與這個描述字符串相符合的地方,當沒有指定,則glutInitDisplayString也返回初始(最佳符合)配置.
red :   red顏色緩存精度, 默認值>=1;
rgba :  rgba模式,顏色緩存精度默認值>=1;
rgb :   rgb模式,顏色緩存精度默認值>=1,alpha精度=0;
luminance: 設置red顏色緩存精度,默認值>=1,其他顏色緩存精度=0(alpha沒有指定);
stencil: 模板緩存精度
single: 布爾值,指示顏色緩存是否為單緩存, 默認值=1;
stereo :布爾值,標示顏色緩存支持OpenGL的三維系統,默認值=1;
samples: 標示multisamples的值,這個值是基于GLX的SGIS_multisample的擴展.默認值<=4.這個默認值表示如果支持的話可以在glutInitDisplayString中添加描述參數讓glut請求multipsampling;
slow :  布爾值,標示幀緩存配置是否是slow的.對于X11對glut的執行,slow信息是基于GLX的EXT_visual_rating擴展的支持,如果不支持,就認為是fast;對于win32對glut的執行,slow是基于像素格式描述(pixel format Descriptor即PFD)被標記為"generic"并且未被標記為"accelerated",這說明Microsoft關于slow的OpenGL執行只用在PFD中.這個參數的作用是幫助程序避免對于當前機器的幀緩存配置越來越慢.默認值>=0,表示slow visuals優先于fast visuals,但fast visuals仍然被允許.
win32pdf : 只在win32系統中識別glut的請求,這個參數與win32中的像素格式(pixel format)相匹配,它的值是個數字
xvisual: 只在X Window系統中識別glut的請求,這個參數與X visual ID相匹配,它的值是個數字
xstaticgray:  只在X Window系統中識別glut請求,是個布爾值,標示幀緩存配置的X visual是否是StaticGray. 默認值=1
xgrayscale  : 只在X Window系統中識別glut的請求,是個布爾值,標示幀緩存配置的X visual是否是GrayScale. 默認值=1;
xstaticcolor:  只在X Window系統中識別glut的請求,是個布爾值,標示幀緩存配置的X visual是否是StaticColor. 默認值=1;
xpseudocolor : 只在X Window系統中識別glut的請求,是個布爾值,標示幀緩存配置的X visual是否是PsuedoColor. 默認值=1;
xtruecolor  :  只在X Window系統中識別glut的請求,是個布爾值,標示幀緩存配置的X visual是否是TrueColor. 默認值=1;
xdirectcolor : 只在X Window系統中識別glut的請求,是個布爾值,標示幀緩存配置的X visual是否是DirectColor. 默認值=1;
//*******************************************************************************************
網上沒有搜到關于glut的完整資料,于是下狠心自己花時間整理了一下.這里只是glut初始化的API,其中void glutInitDisplayString(const char *string);在國內網站上沒搜到具體解釋,是從國外網站上翻譯過來的,本人英文水平有限,可能有錯誤,下面貼上英文原文,望達人指點.(其他API 會在以后分類后陸續給出).
 
void glutInitDisplayString(const char *string)  - sets the initial display mode via a string.
string:Display mode description string, see below.
Description:
The initial display mode description string is
used  when creating top-level windows,subwindows,
and overlays to determine the OpenGL display mode
for the to-be-created window or overlay.
The string is a list of zero or more capability
descriptions separated by spaces and tabs.Each
capability description is a capability name that
is optionally followed by a comparator and a
numeric value.For example,"double" and "depth>=12"
are both valid criteria.
The capability descriptions are translated into
a set of criteria used to select the appropriate
frame buffer  configuration.
The criteria are matched in strict left to right
order of precdence.That is,the first specified
criteria(leftmost) takes precedence over the later
criteria for nonexact criteria (greater than,less
than,etc.comparators).Exact criteria (equal, not
equal compartors) must match exactly so precedence
is not relevant.
The numeric value is an integer that is parsed
according to ANSI C's strtol(str,strptr,0) behavior.
This means that decimal,octal(leading 0),and
hexidecimal values(leading 0x) are accepeted.
The valid compartors are:
=  Equal.
!= Not equal.
<  Less than and preferring larger difference
   (theleast is best).
>  Greater than and preferring larger differences
   (the most is best).
<= Less than or equal and preferring larger
   difference(the least is best).
>= Greater than or equal and preferring more
   instead of less. This comparator is useful for
   allocating resources like color precsion or
   depth buffer precision where the maximum
   precison is generally preferred.Contrast with
   the tilde (~) comprator.
~  Greater than or equal but preferring less
   instead of more.This compartor is useful for
   allocating resources such as stencil bits or
   auxillary color buffers where you would rather
   not over allocate.
   When the compartor and numeric value are not
   specified,each capability name has a different
   default(one default is to require a compartor
   and numeric value).
The valid capability names are:
alpha:Alpha color buffer precision in bits.Default
      is ">=1".
acca:Red,green,blue,and alpha accumulation buffer
     precision in bits.Default is ">=1" for red,
     green,blue,and alpha capabilities.
acc:Red,green,and green accumulation buffer
    precision in bits and zero bits of alpha
    accumulation buffer precision.Default is ">=1"
    for red,green,and blue capabilities,and "~0"
    for the alpha capability.
blue:Blue color buffer precision in bits.Default
     is ">=1".
buffer:Number of bits in the color index color
       buffer.Default is ">=1".
conformant:
       Boolean indicating if the frame buffer
       configuration is conformant or not.
       Conformance information is based on GLX's
       EXT_visual_rating extension if supported.
       If the extension is not supported,all
       visuals are assumed conformat.Default is
       "=1".
depth:Number of bits of precsion in the depth
      buffer.Default is ">=12".
double:Boolean indicating if the color buffer is
       double buffered.Default is "=1".
green:Green color buffer precision in bits.Default
      is ">=1".
index:Boolean if the color model is color index or
      not.True is color index.Default is ">=1".
num:A special capability name indicating where the
    value represents the Nth frame buffer
    configuration matching the description string.
    When  not specified,glutInitDisplayString also
    returns the first(best matching) configuration.
    num requires a compartor and numeric value.
red;Red color buffer precision in bits.Default is
        ">=1".
rgba:Number of bits of red,green,blue,and  alpha
     in the RGBA color buffer.Default is ">=1"
     for red,green,blue,and alpha capabilities,
     and "=1"  for the RGBA color model capability.
rgb:Number of bits of red,green,and blue in the
    RGBA color buffer and zero bits of alpha color
    buffer precision.Default  is ">=1" for the red,
    green,and blue capabilities,and "~0" for alpha
    capability,and "=1" for the RGBA color model
    capability.
luminance:
    Number of bits of red in the RGBA and zero
    bits of green,blue(alpha not specified) of
    color buffer precision.Default is ">=1"
    for the red capabilitis,and "=0" for the green
    and blue capabilities,and "=1" for the RGBA
    color model capability,and,for X11,"=1" for the
    StaticGray ("xstaticgray")capability.SGI
    InfiniteReality(and other future machines)
    support a 16-bit luminance (single channel)
    display mode(an additional 16-bit alpha channel
    can also be requested).The red channel maps to
    gray scale and green and blue channels are not
    available.A 16-bit precision luminance display
    mode is often appropriate for medical imaging
    applications.Do not expect many machines to
    support extended precision luminance display
    modes.
stencil:Number of bits in the stencil buffer.
single:Boolean indicate the color buffer is single
       buffered.Double buffer capability "=1".
stereo:Boolean indicating the color buffer is
       supports OpenGL-style stereo.Default is "=1".
samples:Indicates the number of multisamples to use
        based on GLX's SGIS_multisample extension(for
        antialiasing).Default is "<=4". This default
        means that a GLUT application can request
        multipsampling if available by simply
        specifying "samples".
slow:Boolean indicating if the frame buffer
     configuration is slow or not.For the X11
     implementation of GLUT,slowness information is
     based on GLX's EXT_visual_rating extension if
     supported.If the EXT_visual_rating extension is
     not supported,all visuals are assumed fast.For
     the Win32 implementation of GLUT,slowness is
     based on if the underlying Pixel Format Descriptor
     (PFD)is marked "generic" and not "accelerated".
     This implies that Microsoft's relatively slow
     software OpenGL implementation is used by this
     PFD.Note that slowness is a relative designation
     relative to other frame buffer configurations
     available.The intent of the slow capability is to
     help programs avoid frame buffer configurations
     that are slower(but perhaps higher precision) for
     the current machine.Default is ">=0" if not
     comparator and numeric value are provided.This
     default means that slow visuals are used in
     preference to fast visuals,but fast visuals will
     still be allowed.
win32pfd:
     Only recognized on GLUT implementations for Win32,
     this  capability name matches the Win32 Pixel For-
     mat Descriptor by numer.  win32pfd requires a com-
     partor and numeric value.
xvisual:Only recongized on GLUT implementations for the
        X Window System,this capability name matches
        the X visual ID by number.xvisual requires a
        compartor and numeric value.
xstaticgray:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type Stat-
        icGray.Default is "=1".
xgrayscale:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type
        GrayScale.Default is "=1".
xstaticcolor:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type
        StaticColor.Default is "=1".
xpseudocolor:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type
        PsuedoColor.Default is "=1".
xtruecolor:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type
        TrueColor.Default is "=1".
xdirectcolor:
        Only recongized on GLUT implementations for the
        X Window System,boolean indicating if the frame
        buffer configuration's X visual is of type
        DirectColor.Default is "=1".
Unspecifed capability descriptions will result in
unspecified criteria being generated.These unspecified
criteria help glutInitDisplayString behave sensibly
with terse display mode description strings.For
example,if no "slow" capability description is provided,
fast frame buffer configurations will be choosen in
preference to slow frame buffer configurations,but slow
frame  buffer  configurations will still be choosen if
no better fast frame buffer configuration is available.
Example:
Here is an examples using glutInitDisplayString:
glutInitDisplayString("stencil~2 rgb double depth>=16 samples");
The above call requests a window with an RGBA color
model(but requesting no bits of alpha),a depth buffer
with at least 16 bits of precsion but preferring more,
mutlisampling if available,and at least 2 bits of
stencil(favoring less stencil to more as long as 2 bits
are available).

posted @ 2009-03-03 15:15 小蟲蟲 閱讀(923) | 評論 (0)編輯 收藏

(轉)glut中去掉控制臺

*文章轉自:http://old.blog.edu.cn/user3/zjdukang/archives/2007/1765297.shtml
    glut是OpenGL應用工具包(OpenGL Utility Toolkit),它為OpenGL提供了一個簡易的窗口平臺,使程序員不用過多的關心與平臺相關的窗口系統.

    建立工程時,我們一般都建立控制臺程序(在vc6中即console win32 application)來使用glut庫.但是在控制臺程序下,運行時都會跳出控制臺窗口,很不美觀,我們可以用下面的方法將控制臺窗口去掉:
#pragma comment( linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
在主函數所在的.cpp文件的頂部加上上面的宏,就可以輕松將控制臺窗口去掉,這樣就只剩下glut窗口了.

posted @ 2009-03-03 15:10 小蟲蟲 閱讀(584) | 評論 (0)編輯 收藏

glut函數說明

     摘要: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 st1\:*{behavior:url(#ieooui) } /* Style Definitions */ table.MsoNormalT...  閱讀全文

posted @ 2009-03-03 15:02 小蟲蟲 閱讀(790) | 評論 (0)編輯 收藏

VC下OpenGL配置以及glut配置

OpenGL官方網站(英文)
http://www.opengl.org

下面我將對Windows下的OpenGL編程進行簡單介紹。

第一步:選擇一個編譯環境   

現在Windows系統的主流編譯環境有Visual Studio,Broland C++ Builder,Dev-C++等,它們都是支持OpenGL的。但這里我們選擇VC++ 6.0作為學習OpenGL的環境。   

第二步:安裝GLUT工具包   

GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的方便,推薦安裝。   

Windows環境下的GLUT下載地址:(大小約為150k)   
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip  

無法從以上地址下載的話請使用下面的連接:   
http://upload.programfan.com/upfile/200607311626279.zip    

Windows環境下安裝GLUT的步驟:   
1、將下載的壓縮包解開,將得到5個文件
2、以我的安裝目錄為例:   
(1)“d:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夾”。把解壓得到的glut.h放到這個GL文件夾里。沒有GL文件夾可以自己建一個,一般都有的。
(2)“d:\Program Files\Microsoft Visual Studio\VC98\lib文件夾”。把解壓得到的glut.lib和glut32.lib放到靜態函數庫所在文件夾,即lib文件夾。
(3)把解壓得到的glut.dll和glut32.dll放到操作系統目錄下面的system32文件夾內。(典型的位置為:C:\Windows\System32)這是非常重要的動態鏈接庫設置! 

第三步,創建工程,其步驟如下:   

(1)創建一個Win32 Console Application。(以我創建的為例,工程名為simpleGL)   
(2)鏈接OpenGL libraries:在Visual C++中先單擊Project,再單擊Settings,再找到Link單擊,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。   
(3)單擊Project Settings中的C/C++標簽,將Preprocessor definitions 中的_CONSOLE改為__WINDOWS。最后單擊OK。  

現在,準備工作基本上完成了,可不要輕視這一步,如果你沒有設置好在編譯及運行過程中總會出錯的。

對于VS2005可以如下設置:
1、把 glut.h 復制到 VC 安裝路徑下的 PlatFormSDK\include\gl 文件夾
2、把 glut32.lib 復制到 VC 安裝路徑下的 PlatFormSDK\lib 文件夾
3、把 glut32.dll 復制到 Windows\System32 文件夾
4、在 VC 中創建控制臺應用程序,在選項中清除“使用預編譯頭”(以免影響可移植性)
5、在 VC 中打開項目->屬性對話框進行如下設置:
        將“配置”下拉框選則為“所有配置”
        打開 “鏈接器--輸入”項
        在“附加依賴項”中增加:
        OpenGL32.lib
        glu32.lib
        glut32.lib

第四步,創建一個最簡單的opengl程序

#include <GL/glut.h>

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}

int main(int argc, char *argv[])
{
   
glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一個OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

該程序的作用是在一個黑色的窗口中央畫一個白色的矩形。下面對各行語句進行說明。

首先,需要包含頭文件#include<GL/glut.h>,這是GLUT的頭文件。
本來OpenGL程序一般還要包含<GL/gl.h>和<GL/glu.h>,但GLUT的頭文件中已經自動將這兩個文件包含了,不必再次包含。

然后看main函數。
int main(int argc, char *argv[]),這個是帶命令行參數的main函數,各位應該見過吧?沒見過的同志們請多翻翻書,等弄明白了再往下看。
注意main函數中的各語句,除了最后的return之外,其余全部以glut開頭。這種以glut開頭的函數都是GLUT工具包所提供的函數,下面對用到的幾個函數進行介紹。
1、glutInit,對GLUT進行初始化,這個函數必須在其它的GLUT使用之前調用一次。其格式比較死板,一般照抄這句glutInit(&argc, argv)就可以了。
2、glutInitDisplayMode,設置顯示方式,其中GLUT_RGB表示使用RGB顏色,與之對應的還有GLUT_INDEX(表示使用索引顏色)。GLUT_SINGLE表示使用單緩沖,與之對應的還有GLUT_DOUBLE(使用雙緩沖)。更多信息,請自己Google。當然以后的教程也會有一些講解。
3、glutInitWindowPosition,這個簡單,設置窗口在屏幕中的位置。
4、glutInitWindowSize,這個也簡單,設置窗口的大小。
5、glutCreateWindow,根據前面設置的信息創建窗口。參數將被作為窗口的標題。注意:窗口被創建后,并不立即顯示到屏幕上。需要調用glutMainLoop才能看到窗口。
6、glutDisplayFunc,設置一個函數,當需要進行畫圖時,這個函數就會被調用。(這個說法不夠準確,但準確的說法可能初學者不太好理解,暫時這樣說吧)。
7、glutMainLoop,進行一個消息循環。(這個可能初學者也不太明白,現在只需要知道這個函數可以顯示窗口,并且等待窗口關閉后才會返回,這就足夠了。)

在glutDisplayFunc函數中,我們設置了“當需要畫圖時,請調用myDisplay函數”。于是myDisplay函數就用來畫圖。觀察 myDisplay中的三個函數調用,發現它們都以gl開頭。這種以gl開頭的函數都是OpenGL的標準函數,下面對用到的函數進行介紹。
1、glClear,清除。GL_COLOR_BUFFER_BIT表示清除顏色,glClear函數還可以清除其它的東西,但這里不作介紹。
2、glRectf,畫一個矩形。四個參數分別表示了位于對角線上的兩個點的橫、縱坐標。
3、glFlush,保證前面的OpenGL命令立即執行(而不是讓它們在緩沖區中等待)。其作用跟fflush(stdout)類似。

posted @ 2009-03-03 14:57 小蟲蟲 閱讀(20569) | 評論 (10)編輯 收藏

僅列出標題
共3頁: 1 2 3 
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(5)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久国产精彩视频美女艺术照福利 | 一区二区三区精品在线| 久久国产欧美日韩精品| 亚洲欧美日韩综合国产aⅴ | 噜噜噜91成人网| 麻豆精品视频在线观看| 美日韩精品免费观看视频| 久久偷看各类wc女厕嘘嘘偷窃| 久久9热精品视频| 久久综合精品国产一区二区三区| 一区二区三区国产盗摄| 欧美一区二区在线观看| 欧美一区二区福利在线| 久久国产日韩欧美| 亚洲成人在线视频播放| 久久精品视频亚洲| 免费观看成人www动漫视频| 你懂的国产精品| 亚洲国产精品久久久| 亚洲精品免费一二三区| 亚洲女同在线| 久久免费精品视频| 欧美精品自拍偷拍动漫精品| 欧美日韩精品高清| 国产伦精品一区二区三区高清版| 国产欧美日韩综合精品二区| 亚洲国产精品成人一区二区| 亚洲图片自拍偷拍| 久久尤物电影视频在线观看| 亚洲精品久久久久久久久久久久| 亚洲婷婷综合色高清在线| 久久精品首页| 欧美深夜影院| 在线观看成人av电影| 一区二区福利| 久久亚洲春色中文字幕久久久| 亚洲国产aⅴ天堂久久| 艳女tv在线观看国产一区| 欧美综合第一页| 欧美午夜www高清视频| 在线观看欧美| 性欧美精品高清| 亚洲国产福利在线| 欧美中文字幕在线观看| 欧美三级视频在线| 在线观看视频日韩| 欧美在线首页| 亚洲少妇自拍| 欧美精品成人一区二区在线观看 | 久久亚洲私人国产精品va媚药| 亚洲清纯自拍| 美女图片一区二区| 国内精品一区二区三区| 欧美一级大片在线免费观看| 日韩一级成人av| 欧美精品色一区二区三区| 精品51国产黑色丝袜高跟鞋| 性做久久久久久免费观看欧美| 亚洲人精品午夜| 欧美成人久久| 亚洲精品一区在线观看香蕉| 嫩草国产精品入口| 久久精品综合网| 国产主播精品| 久久―日本道色综合久久| 亚洲视频播放| 欧美自拍偷拍| 一本一本a久久| 欧美激情一区二区三级高清视频 | 亚洲免费高清| 亚洲国产精品成人| 欧美高清视频一区二区| **网站欧美大片在线观看| 久久五月天婷婷| 久久九九精品| 亚洲第一免费播放区| 欧美成人69av| 欧美激情片在线观看| 99国产精品视频免费观看一公开| 亚洲国产高清一区| 欧美日韩精品一区二区| 亚洲一区二区毛片| 欧美一级久久久| 在线观看欧美一区| 亚洲黑丝在线| 欧美色一级片| 久久精品一本| 麻豆精品网站| 亚洲一区二区三区免费观看| 亚洲自拍偷拍一区| 在线观看中文字幕不卡| 亚洲美女av在线播放| 国产伦精品一区二区三区四区免费 | 嫩草影视亚洲| 欧美日韩在线影院| 欧美中文在线观看| 开元免费观看欧美电视剧网站| 亚洲人成网站在线播| 一区二区日韩伦理片| 国产专区综合网| 亚洲激情一区二区| 国产精品久久9| 免费成人在线观看视频| 欧美日韩综合在线免费观看| 久久国产精品久久久| 欧美成人高清| 久久精品欧美日韩| 欧美日韩在线直播| 欧美成人精品不卡视频在线观看| 欧美人与性动交cc0o| 久久免费视频网| 国产精品r级在线| 亚洲福利在线视频| 国产在线高清精品| 亚洲天堂av在线免费观看| 亚洲激情影院| 性久久久久久久久久久久| 日韩视频永久免费观看| 国产情人节一区| 久久中文字幕一区| 国产精品欧美日韩| 欧美激情中文不卡| 国产一区二区av| 一区二区日韩伦理片| 亚洲精品日韩在线观看| 欧美一区二区在线播放| 亚洲影院高清在线| 欧美福利视频| 欧美国产精品v| 国模 一区 二区 三区| 亚洲一区三区在线观看| 亚洲午夜精品| 欧美日韩成人综合天天影院| 欧美mv日韩mv国产网站| 国产欧美日韩一区二区三区在线| 亚洲免费观看在线观看| 亚洲美女精品久久| 欧美华人在线视频| 亚洲大胆人体视频| 在线观看国产日韩| 久久―日本道色综合久久| 久久综合九色欧美综合狠狠| 国产一区二区三区久久悠悠色av | 美国十次了思思久久精品导航| 久久精品亚洲精品国产欧美kt∨| 国产精品美女久久久浪潮软件| 日韩亚洲欧美一区二区三区| 一区二区三区四区国产精品| 欧美日韩黄色大片| 99精品欧美一区二区三区| 一区二区三区高清| 欧美天堂亚洲电影院在线播放| 日韩午夜免费视频| 亚洲尤物在线视频观看| 国产精品久久一区主播| 亚洲免费视频一区二区| 久久精品女人的天堂av| 在线观看亚洲| 欧美精品一区二区三| 一本一本久久a久久精品综合妖精| 亚洲影音先锋| 一区二区视频免费完整版观看| 老司机一区二区| 亚洲经典自拍| 午夜精彩国产免费不卡不顿大片| 国产女主播一区二区三区| 久久久久亚洲综合| 亚洲精品黄网在线观看| 欧美在线资源| 亚洲理伦在线| 国产免费一区二区三区香蕉精| 久久精品男女| 日韩午夜在线播放| 久久久国产91| 在线中文字幕日韩| 国产日韩亚洲欧美精品| 欧美成人黑人xx视频免费观看| 国产精品99久久久久久久久| 久久综合电影一区| 亚洲一区二区在线看| 极品av少妇一区二区| 亚洲乱码国产乱码精品精| 欧美成人日韩| 亚洲一区欧美激情| 亚洲国产黄色| 欧美与欧洲交xxxx免费观看 | 亚洲欧美日韩精品久久亚洲区 | 国产一区免费视频| 欧美精品福利| 久久精品视频免费观看| 亚洲性av在线| 亚洲人人精品| 麻豆精品一区二区av白丝在线| 中文日韩在线| 亚洲日韩欧美一区二区在线| 国产日韩三区| 国产精品一区二区三区乱码| 欧美精品亚洲一区二区在线播放| 欧美一区二区免费| 中文精品视频|