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

(轉)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>
            欧美日韩理论| 欧美午夜精品一区二区三区| 欧美一区二区三区的| 免费视频最近日韩| 国产亚洲视频在线| 亚欧成人精品| 亚洲最黄网站| 欧美日韩国产成人在线免费| 国模私拍视频一区| 欧美在线观看网站| 亚洲精品美女| 免费欧美日韩| 91久久国产精品91久久性色| 久久综合中文| 久久精品成人| 精品成人在线| 久久综合一区| 久久久国产精品亚洲一区| 国产欧美日韩另类一区| 欧美在线free| 制服诱惑一区二区| 国产精品高潮久久| 午夜国产不卡在线观看视频| 欧美jizzhd精品欧美喷水| 国产精品99久久久久久久vr| 欧美激情亚洲激情| 一本色道综合亚洲| 夜夜嗨av一区二区三区中文字幕 | 欧美视频专区一二在线观看| 亚洲精品美女在线观看播放| 亚洲日本电影在线| 国产精品国产精品国产专区不蜜| 亚洲中字在线| 香蕉久久a毛片| 亚洲第一精品福利| 91久久国产综合久久91精品网站| 欧美久久99| 欧美亚洲一区二区在线观看| 久久久久久久综合色一本| 影音先锋亚洲精品| 亚洲国产精品va在线看黑人| 欧美日韩1区2区| 亚洲欧美日本精品| 久久久久久久综合色一本| 日韩视频一区二区三区在线播放| 欧美激情精品久久久久久久变态 | 欧美日韩国产精品 | 日韩网站免费观看| 国产精品h在线观看| 久久爱www| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品久久久久影院亚瑟 | 91久久久久久国产精品| 国产精品二区在线| 欧美成人免费一级人片100| 欧美午夜片欧美片在线观看| 久久一区二区三区av| 欧美日韩在线播放三区四区| 麻豆免费精品视频| 国产精品视频久久| 亚洲国产精彩中文乱码av在线播放| 欧美视频精品在线观看| 欧美成年人网| 国产日韩在线视频| 9久草视频在线视频精品| 欧美一区久久| 中文国产成人精品| 久久午夜精品一区二区| 香蕉精品999视频一区二区| 欧美激情视频一区二区三区不卡| 欧美一区二区三区婷婷月色| 欧美成人午夜激情视频| 久久综合中文色婷婷| 亚洲精品日产精品乱码不卡| 亚洲国产精品第一区二区三区| 亚洲国产精品久久久久| 一区在线视频| 欧美中文字幕视频在线观看| 亚洲一二三四久久| 欧美肥婆在线| 欧美国产另类| 亚洲成人中文| 欧美在线视频不卡| 欧美一区二区视频观看视频| 欧美激情1区2区| 欧美国产亚洲另类动漫| 一区久久精品| 欧美亚洲尤物久久| 亚洲天堂黄色| 欧美日韩三级| 99热在线精品观看| 最新精品在线| 另类天堂视频在线观看| 欧美www在线| 亚洲日本欧美在线| 欧美日韩国产精品一区| 亚洲毛片在线看| 亚洲精品在线二区| 欧美顶级少妇做爰| 亚洲日韩欧美视频一区| 亚洲精品中文字幕女同| 欧美国产精品v| 日韩视频不卡| 午夜激情亚洲| 国产欧美精品在线观看| 久久激情中文| 欧美激情2020午夜免费观看| 久久三级福利| 免费人成网站在线观看欧美高清| 国产日韩亚洲欧美综合| 久久亚洲图片| 亚洲精品之草原avav久久| 亚洲视频播放| 国产主播一区二区三区| 米奇777在线欧美播放| 91久久精品久久国产性色也91| 亚洲免费观看视频| 国产精品xxxxx| 亚洲影院免费| 久久精品国产第一区二区三区最新章节| 久久精品网址| 国产精品久久久久久久免费软件 | 午夜精品福利视频| 麻豆av福利av久久av| 亚洲精品一区久久久久久| 欧美日韩一区高清| 欧美一区二区三区日韩| 欧美大片在线看| 亚洲欧美国产毛片在线| 国产主播在线一区| 欧美另类高清视频在线| 国产精品99久久久久久有的能看| 香蕉尹人综合在线观看| 黄色亚洲大片免费在线观看| 欧美电影在线| 午夜视黄欧洲亚洲| 蜜乳av另类精品一区二区| 亚洲每日更新| 国内精品国语自产拍在线观看| 欧美黑人一区二区三区| 欧美一区亚洲一区| 亚洲视频一区二区在线观看| 久久久精彩视频| 一区二区三区欧美亚洲| 免费亚洲电影| 久久精品日产第一区二区三区| 91久久在线播放| 国产日韩高清一区二区三区在线| 欧美精品在线免费| 久久久久久夜精品精品免费| 宅男精品视频| 亚洲精品一区二区三区在线观看| 久久综合狠狠| 久久狠狠一本精品综合网| 亚洲免费在线精品一区| 亚洲精品国产精品乱码不99按摩| 国产亚洲欧洲一区高清在线观看| 欧美日韩中文字幕精品| 欧美激情日韩| 欧美激情久久久| 久久综合九色综合网站 | 亚洲福利小视频| 国产自产精品| 国产人成一区二区三区影院| 欧美午夜视频| 国产精品免费视频xxxx| 欧美日韩在线大尺度| 欧美另类亚洲| 欧美日韩精品久久久| 欧美日韩亚洲高清| 欧美日韩免费观看一区三区| 欧美福利网址| 欧美人成在线| 欧美日韩中文在线| 国产精品久久久久久久久久三级| 欧美岛国在线观看| 欧美激情第8页| 欧美日韩视频不卡| 国产精品乱子久久久久| 国产精品黄色| 国产女主播一区| 国产日韩欧美在线| 国内欧美视频一区二区| 激情一区二区| 亚洲欧洲日韩综合二区| 亚洲精品视频二区| 99亚洲一区二区| 亚洲已满18点击进入久久| 午夜精品亚洲| 久久久久久久久蜜桃| 久久亚洲电影| 亚洲国产成人久久综合| 亚洲免费福利视频| 亚洲一区区二区| 欧美在线视频在线播放完整版免费观看 | 久久婷婷久久| 亚洲第一精品久久忘忧草社区| 欧美黄色免费网站| 亚洲综合国产精品| 久久不射电影网|