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

教父的告白
一切都是紙老虎
posts - 82,  comments - 7,  trackbacks - 0

簡(jiǎn)介:本教程基于Ogre Wiki上的Basic Tutorial系列,并依據(jù)筆者使用的vs2005+sp1+OgreSDK1.4.3開發(fā)環(huán)境簡(jiǎn)化整理而來(lái),其中穿插著筆者自己的理解。這是教程的第一部分,也是我的學(xué)習(xí)筆記。

正文:凡是翻譯過(guò)幾篇技術(shù)類文章的人都深知從頭至尾忠實(shí)重現(xiàn)作者的原意是一件多么令人頭疼的事情。當(dāng)我從諸多曾經(jīng)許諾要翻譯的文章中爬出來(lái)的時(shí)候,我決定這次不做那樣一個(gè)“傻子”,重寫那些文章要比翻譯它們快樂(lè)的多。

在開始前,我希望統(tǒng)一我們的開發(fā)環(huán)境——VS2005+OgreSDK1.4.3。有兩點(diǎn)需要注意:
一、請(qǐng)確認(rèn)你的VS2005安裝了sp1補(bǔ)丁包,這一點(diǎn)非常重要,否則你可以正確的編譯Ogre程序,但你死活運(yùn)行不起它們來(lái)。
二、請(qǐng)確認(rèn)你的Ogre是合適的版本,也就是OGRE 1.4.3 SDK for Visual C++ .Net 2005(8.0)SP1,你可以從http://www.ogre3d.org/index.php?option=com_content&task=view&id=411&Itemid=131免費(fèi)獲得。


創(chuàng)建你的第一個(gè)Ogre應(yīng)用程序

現(xiàn)在,對(duì)表之后,行動(dòng)開始。哦,等一下,忘了給你們發(fā)槍了。請(qǐng)到http://ogreconglo.sourceforge.net/phpBB2/viewtopic.php?p=4領(lǐng)取槍械。是Ogre產(chǎn)的Ogre Application Wizard,不要著急,人人都有。把它解壓到合適的位置,我推薦的位置當(dāng)然是OgreSDK目錄下了,然后運(yùn)行里面的VC8_Setup.js安裝。兄弟們,準(zhǔn)備好了嗎?現(xiàn)在行動(dòng)真的要開始了。

打開vs2005,新建一個(gè)項(xiàng)目,"文件"->"新建"->"項(xiàng)目"->"Visual C++",在"Visual Studio已安裝的模板"選擇"OGRE SDK Application"。設(shè)置好工程名和存儲(chǔ)路徑后點(diǎn)"確定"按鈕。

彈出了向?qū)Вx項(xiàng)保持默認(rèn)就好了,點(diǎn)"finish"完成。

是不是個(gè)Win32項(xiàng)目的向?qū)б粯雍?jiǎn)單?下面按F7編譯一下。

如果沒(méi)有操作失誤的話,會(huì)得到這樣的結(jié)果

------ 已啟動(dòng)生成: 項(xiàng)目: test1, 配置: Debug Win32 ------
正在編譯...
test1.cpp
正在編譯資源...
正在編譯資源清單...
正在鏈接...
正在嵌入清單...
Copying exe to samples bin directory ...
已復(fù)制         
1 個(gè)文件。
生成日志保存在“file:
//d:GameDevelop est1 est1objDebugBuildLog.htm”
test1 - 0 個(gè)錯(cuò)誤,0 個(gè)警告
========== 生成: 1 已成功, 0 已失敗, 0 最新, 0 已跳過(guò) ==========

運(yùn)行卻會(huì)出現(xiàn)如圖的錯(cuò)誤,缺少相應(yīng)的文件,運(yùn)行不起來(lái)。一種解決辦法是把缺少的文件復(fù)制過(guò)來(lái),但你必須知道需要什么文件,不適合新手。另一種方法是,你注意到“Copying exe to samples bin directory ...”一句了嗎?EXE文件拷貝到哪里去了?拷貝到“\OgreSDK\bin\debug”中去了,找到了嗎?運(yùn)行試試,成功了吧。

揭開向?qū)У拿婕?/strong>

你可能在想Ogre Application Wizard(之后簡(jiǎn)稱OAW)到底做了什么呢?就像當(dāng)初我使用Win32應(yīng)用程序向?qū)?chuàng)建了那個(gè)HelloWorld之后想的一樣。其實(shí)OAW只做了兩件事,一是創(chuàng)建了幾個(gè)源文件,另一個(gè)是設(shè)置了IDE的參數(shù),這也是最重要的一步。下面我們來(lái)手動(dòng)做一次OAW做的事情,以便加深印象,為了以后的方便又一小部分操作是不同的。

關(guān)閉剛才的解決方案,新建一個(gè)項(xiàng)目,"文件"->"新建"->"項(xiàng)目"->"Visual C++"->"Win32",在"Visual Studio已安裝的模板"選擇"Win32項(xiàng)目"。設(shè)置好工程名和存儲(chǔ)路徑后點(diǎn)"確定"按鈕。(我用的工程名和解決方案名都是test2,路徑名為D:\GameDevelop)

在向?qū)У?應(yīng)用程序設(shè)置"中選擇"Windows應(yīng)用程序"和"空項(xiàng)目",點(diǎn)擊完成。

除了幾個(gè)工程文件,向?qū)](méi)再多做任何事情。為了這個(gè)項(xiàng)目的獨(dú)立性與方便性,我們還要復(fù)制"\OgreSDK"下的"\bin"和"\media"到"D:\GameDevelop\test2"里,并創(chuàng)建"include"、"src"和"scripts",這樣你在"D:\GameDevelop\test2"下將看到6個(gè)文件夾。

然后創(chuàng)建一個(gè)"SampleApp.cpp",保存路徑為"D:\GameDevelop\test2\src",內(nèi)容如下:

#include "ExampleApplication.h"

class TutorialApplication : public ExampleApplication
{
protected:
public:
    TutorialApplication()
    
{
    }


    
~TutorialApplication() 
    
{
    }

protected:
    
void createScene(void)
    
{
    }

}
;

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include 
"windows.h"

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
int main(int argc, char **argv)
#endif
{
    
// Create application object
    TutorialApplication app;

    
try {
        app.go();
    }
 catch( Exception& e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 
        MessageBoxA( NULL, e.getFullDescription().c_str(), 
"An exception has occurred!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
        fprintf(stderr, 
"An exception has occurred: %s ",
                e.getFullDescription().c_str());
#endif
    }


    
return 0;
}

保存,按F7編譯一下。

------ 已啟動(dòng)生成: 項(xiàng)目: test2, 配置: Debug Win32 ------
正在編譯...
SampleApp.cpp
d:gamedevelop est2srcsampleapp.cpp(
1) : fatal error C1083: 無(wú)法打開包括文件:“ExampleApplication.h”: No such file or directory
生成日志保存在“file:
//d:GameDevelop est2 est2DebugBuildLog.htm”
test2 - 1 個(gè)錯(cuò)誤,0 個(gè)警告
========== 生成: 0 已成功, 1 已失敗, 0 最新, 0 已跳過(guò) ==========

出錯(cuò)了,找不到"ExampleApplication.h"。其中的"ExampleApplication"又是什么呢?它是Ogre為初學(xué)者設(shè)計(jì)的實(shí)例程序類(可能是個(gè)程序框架什么的,我是這么理解的),以便你可以快速的開始Ogre編程的學(xué)習(xí)。"ExampleApplication.h"在"\OgreSDK\samples\include"下。默認(rèn)情況下,IDE是不會(huì)找到這里的。還記得我說(shuō)過(guò)Ogre程序向?qū)ё鲞^(guò)什么嗎?對(duì)了,設(shè)置我們的IDE環(huán)境。下面我們就來(lái)一步步地把IDE設(shè)置好。

"項(xiàng)目"->"屬性",打開"test2 屬性頁(yè)",展開"配置屬性"。設(shè)置:
"調(diào)試"->"工作目錄"為"..\bin\Debug",
"C/C++"->"常規(guī)"->"附加包含目錄"中添加"..\include"、"$(OGRE_HOME)\include"和"$(OGRE_HOME)\samples\include",
"C/C++"->"代碼生成"->"運(yùn)行時(shí)庫(kù)"為"多線程調(diào)試 DLL (/MDd)"(這個(gè)好像就是默認(rèn)的),
"鏈接器"->"常規(guī)"->"輸出文件"為"..\bin\Debug\$(ProjectName).exe",
"鏈接器"->"常規(guī)"->"附加庫(kù)目錄"中添加"$(OGRE_HOME)\lib",
"鏈接器"->"輸入"->"附加依賴項(xiàng)"中添加"OgreMain_d.lib"和"OIS_d.lib"(如果是Release版則添加"OgreMain.lib"和"OIS.lib")

設(shè)置好了,再編譯一次試試。如果你看懂了以上部分,并且編譯通過(guò)的話,我們就可以繼續(xù)了,之后的內(nèi)容將修改前面這個(gè)程序來(lái)向你展示Ogre的世界。


OGRE是如何工作的

SceneManager、Entity和SceneNode是Ogre的3個(gè)基礎(chǔ)模塊。

其中SceneManager是管理者,所有顯示在屏幕上的東西都由SceneManager管理。SceneManager的類型眾多,隨著教程的推進(jìn),你會(huì)慢慢的了解它。

Entity就是你想要渲染的物體的模型,它們使用mesh(Ogre使用的一種文件格式)描述。在Ogre中你需要注意,物體模型是與它的位置和方向分開的。這就意味著你不能直接把一個(gè)物體放在場(chǎng)景里,你必須將Entity和一個(gè)SceneNode相關(guān)聯(lián),而這個(gè)SceneNode包含了位置和方向的信息。

正如前面所說(shuō),SceneNode可以和Entity相關(guān)聯(lián),關(guān)聯(lián)的數(shù)量是不受限制的。這有什么用處呢?例如,你想制作一個(gè)人物在屏幕上行走,同時(shí)有一圈神圣的光環(huán)繞著他。實(shí)現(xiàn)這個(gè)的一種方法就是先創(chuàng)建一個(gè)SceneNode,然后創(chuàng)建一個(gè)人物的Entity并與SceneNode關(guān)聯(lián)。接著再創(chuàng)建一個(gè)光的Entity也與SceneNode關(guān)聯(lián)。人和光就這么聯(lián)系在一起了,簡(jiǎn)單吧。

SceneNode不光可以和Entity相關(guān)聯(lián),和其他的SceneNode關(guān)聯(lián)也是允許的。這將有助于你創(chuàng)建結(jié)構(gòu)層次復(fù)雜的游戲世界。如果你不太明白,就想想windows中的窗口,子窗口套在父窗口里,層層嵌套就組成了一個(gè)程序的界面,而這里組成的是游戲世界的一部分,可能是人、房子,也可能是些別的什么東西。

SceneNode可以有孩子(ChildSceneNode),當(dāng)然也就有父親(ParentSceneNode)。(典型的樹狀結(jié)構(gòu)嘛)

windows中所有窗口的根都是桌面(Desktop),在Ogre中每一個(gè)SceneManager也有這樣一個(gè)根(RootSceneNode),它和其他所有的SceneNode關(guān)聯(lián)著。


一個(gè)更加豐富的世界

剛才創(chuàng)建的程序中空蕩蕩的,除了數(shù)值和Logo什么也沒(méi)有。現(xiàn)在我們添加一些代碼讓這個(gè)世界豐富起來(lái)。在剛才的代碼中找到TutorialApplication::createScene成員函數(shù),今天后面的代碼都是添加在這個(gè)函數(shù)中的。

為了能看清楚我們將要做的事情,首先要設(shè)置場(chǎng)景的光線。

 mSceneMgr->setAmbientLight(ColourValue(1,1,1));

然后創(chuàng)建一個(gè)物體。

Entity *ent1 = mSceneMgr->createEntity("Robot","robot.mesh");

對(duì)了,還要有與之關(guān)聯(lián)的SceneNode。

SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode");

最后,把它們關(guān)聯(lián)在一起。

node1->attachObject(ent1);

好了,就是它了!編譯運(yùn)行你的程序,你會(huì)看到一個(gè)機(jī)器人站在屏幕上。如果你想了解這幾個(gè)函數(shù)的具體用法請(qǐng)查看"OGRE API Reference",你可以在開始菜單中找到,作用相當(dāng)于OGRE的MSDN。


坐標(biāo)和向量

在繼續(xù)深入之前,我們需要討論一下屏幕坐標(biāo)和Ogre向量對(duì)象。和許多圖形引擎一樣,Ogre使用x和z軸表示水平面,y軸作垂直軸。現(xiàn)在看著你的顯示器,x軸是從你顯示器的左邊到右邊,向右為x的正方向。y軸是從你顯示器的底部到頂部,向上為y的正方向。z軸是從你的顯示器屏幕內(nèi)部向外延伸,向外為z的正方向。如圖:

我們的機(jī)器人為什么是朝向x軸正方向的?這是mesh自身的屬性,取決于它是如何設(shè)計(jì)的。Ogre不對(duì)你如何確定你模型的方向作任何假設(shè)。你所加載的每一個(gè)mesh都有它自己的開始方向。

Ogre使用向量(Vector)類而不是點(diǎn)(Point)類來(lái)描述位置和方向。向量的定義分2個(gè)向量(Vector2)、3個(gè)向量(Vector3)和4個(gè)向量(Vector4),其中Vector3最常用。如果你不熟悉向量,我建議你在開始用Ogre做任何事前先復(fù)習(xí)一下(向量),這對(duì)你將來(lái)復(fù)雜的編程會(huì)很有幫助。

下面我們?cè)偬砑右粋€(gè)物體。

Entity *ent2 = mSceneMgr->createEntity("Robot2","robot.mesh");
SceneNode 
*node2 = mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode2",Vector3(50,0,0));
node2
->attachObject(ent2);
跟剛才的代碼很像,只是多了幾個(gè)參數(shù)。我們?yōu)閚ode2指定了坐標(biāo)Vector3(50,0,0)。編譯運(yùn)行,你會(huì)看到有兩個(gè)機(jī)器人排排站,哈哈。

簡(jiǎn)介:Basic Tutorial 1最后的1/3是大段的理論,是使用Ogre開發(fā)的必備知識(shí),但恰恰是網(wǎng)絡(luò)上諸多譯本所不涉及的范圍。在這里我將使用最簡(jiǎn)練的語(yǔ)言向你介紹它們,當(dāng)然我會(huì)砍掉部分內(nèi)容,但那都是無(wú)關(guān)緊要的。本教程基于Ogre Wiki上的Basic Tutorial系列,并依據(jù)筆者使用的vs2005+sp1+OgreSDK1.4.3開發(fā)環(huán)境簡(jiǎn)化整理而來(lái),其中穿插著筆者自己的理解。這是教程的第一部分,也是我的學(xué)習(xí)筆記。


正文:

The Ogre Environment

本文提到的大部分文件(.DLL/.CFG)都可以在OgreSDK的"\bin\debug"或"\bin\release"文件夾下找到。

DLLs and Plugins

首先我來(lái)解釋一下Ogre library是如何工作的。

在Ogre中存在著各式各樣的共享庫(kù),它們被分到了不同的組里。其中第一組就是Ogre庫(kù)本身以及它所依賴的庫(kù)。Ogre庫(kù)完全保存在OgreMain.dll中。這個(gè)dll又需要像cg.dll之類的其他的庫(kù)。Ogre程序無(wú)一例外地需要這些DLL文件。

第二組是插件。Ogre將許多功能放在了插件里面,因此可以根據(jù)你程序的需要添加或刪除它們。Ogre中的基礎(chǔ)插件都使用"Plugin_"前綴。如果你的程序需要,你也可以自己創(chuàng)建新的插件。Ogre的渲染系統(tǒng)(OpenGL, DirectX等等)同樣使用了插件技術(shù)。這些插件以"RenderSystem_"為名字的前綴。你可以為你的程序添加或刪除渲染系統(tǒng),這非常的有用。例如,你想在一個(gè)非標(biāo)準(zhǔn)的平臺(tái)上使用Ogre,不能用OpenGL了,也不能用DirectX了,你就需要自己寫一個(gè)RenderSystem插件。

第三組就是第3方的共享庫(kù)和輔助庫(kù)。Ogre本身只是一個(gè)圖像渲染引擎,它沒(méi)有GUI沒(méi)有輸入控制更沒(méi)有物理引擎。你必須用別的庫(kù)來(lái)完成這些。Ogre的demo和SDK中包含一些第3方庫(kù)。例如,CEGUI輕松地將一個(gè)GUI系統(tǒng)融入了Ogre,鍵盤和鼠標(biāo)的輸入則是由OIS(一個(gè)輸入系統(tǒng))完成的。

Configuration Files

Ogre程序的運(yùn)行需要幾個(gè)配置文件,他們控制著哪些插件被加載,程序的資源又在哪里等等。我們將簡(jiǎn)要地看一下這些配置文件都是做什么用的。

plugins.cfg包含插件的使用情況。如果想要?jiǎng)h除某個(gè)插件,只需簡(jiǎn)單的刪除對(duì)應(yīng)的行或者在行首添加"#"將其注釋掉。添加控件則需要按照"Plugin=[PluginName]"的形式增加一行。注意,pluginname不需要以.DLL結(jié)尾,也不一定要以"RenderSystem_"或"Plugin_"開頭。你也可以修改"PluginFolder"的值來(lái)定義Ogre尋找插件的路徑,絕對(duì)路徑和相對(duì)路徑都可以,但是不能用系統(tǒng)的環(huán)境變量。

resources.cfg包含著Ogre搜尋資源文件的路徑列表。資源包括scripts, meshes, textures等等。同樣是只能使用絕對(duì)路徑和相對(duì)路徑,不能用系統(tǒng)的環(huán)境變量。注意,Ogre是不搜尋子目錄的,所以如果有多層目錄的話,你必須手動(dòng)輸入他們。例如,你有像"res\meshes"和"res\meshes\"這樣的目錄樹,你就必須添加2個(gè)兩個(gè)路徑。

media.cfg包含了更多的資源細(xì)節(jié)信息,關(guān)于這個(gè)文件的更多信息請(qǐng)查看手冊(cè)或Ogre的論壇。(我也沒(méi)有找到關(guān)于這個(gè)文件的信息,以后找到了會(huì)補(bǔ)上的)

ogre.cfg文件由Ogre's configuration screen根據(jù)你的電腦和圖形設(shè)置生成。發(fā)布你的程序時(shí)這個(gè)文件不需要一起打包。注意,你不能直接地編輯這個(gè)文件,你應(yīng)該使用configuration screen配置。

quake3settings.cfg文件應(yīng)同BSPSceneManager一起使用。如果你沒(méi)有使用BSPSceneManager,那么你就可以忽略此文件,當(dāng)然也就不需要發(fā)布它。

這些就是Ogre使用的全部配置文件。在稍后的教程里我們將涉及這些文件的更多信息,比如如何改變它們的位置,如何使用它們完成更多的事情等等。



posted on 2009-12-25 16:44 暗夜教父 閱讀(6091) 評(píng)論(1)  編輯 收藏 引用 所屬分類: OGRE

FeedBack:
# re: OGRE基礎(chǔ)教程1
2009-12-26 15:09 | Sunshine Alike
mark,關(guān)注中,我也正在學(xué)ogre  回復(fù)  更多評(píng)論
  

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              亚洲精品中文字| 国产一区二区三区视频在线观看 | 欧美日韩一级片在线观看| 久久男女视频| 欧美精品一区二区三区一线天视频 | 亚洲永久免费观看| 亚洲一区二区欧美| 久久不射网站| 欧美精品在线一区二区三区| 国产精品久久久久久久久久免费看 | 亚洲男女自偷自拍| 久久国产欧美精品| 亚洲国产婷婷香蕉久久久久久| 亚洲激情视频在线| 性久久久久久久久| 欧美激情综合五月色丁香小说| 国产日产亚洲精品| 一区二区三欧美| 欧美高清视频一区二区| 欧美一区二区三区视频免费播放 | 国产日韩欧美日韩| 亚洲精品自在久久| 美国成人直播| 欧美在线观看一区二区三区| 99这里有精品| 欧美www视频在线观看| 好吊视频一区二区三区四区 | 亚洲最新色图| 亚洲精品久久久久| 亚洲欧美中文另类| 日韩亚洲欧美在线观看| 国产三级精品在线不卡| 老色批av在线精品| 亚洲精品美女在线| 欧美金8天国| 日韩亚洲欧美成人| 欧美黄色aaaa| 麻豆免费精品视频| 国产免费成人av| 欧美亚洲在线视频| 欧美一区1区三区3区公司| 国产精品无码专区在线观看| 亚洲精选中文字幕| 亚洲视频一区二区| 亚洲第一精品久久忘忧草社区| 亚洲精品免费电影| 精品福利电影| 亚洲精品一区二区三区不| 国产午夜精品一区理论片飘花 | 欧美激情91| 国产老女人精品毛片久久| 久久精品视频导航| 国产精品成人v| 亚洲国产精品v| 久久精品国产91精品亚洲| 亚洲欧美一区二区三区极速播放| 欧美成人国产| 亚洲天堂免费在线观看视频| 一本久久综合亚洲鲁鲁| 久久久久久久久一区二区| 欧美一区二区精品在线| 欧美日韩亚洲一区二| 嫩模写真一区二区三区三州| 国产精品入口日韩视频大尺度| 亚洲激情成人| 亚洲性感激情| 国产精品久99| 一区二区三区四区五区精品视频 | 久久人人97超碰精品888| 噜噜噜在线观看免费视频日韩| 久久综合狠狠综合久久激情| 国产综合久久久久久鬼色| 亚洲制服av| 欧美在线一区二区三区| 国产欧美大片| 久久久久网址| 欧美激情亚洲一区| 性色av一区二区三区在线观看| 国产精品久久久久久久久借妻 | 久久一区中文字幕| 亚洲人www| 国产毛片久久| 欧美激情精品久久久久久免费印度| 一本色道久久综合亚洲精品不卡 | 久久久综合网| 狂野欧美一区| 亚洲精品免费一区二区三区| 欧美体内谢she精2性欧美 | 亚洲激情视频| 亚洲一区二区三区色| 国产乱码精品一区二区三区av| 久久婷婷人人澡人人喊人人爽| 亚洲精品在线看| 免费久久精品视频| 亚洲一本视频| 一区二区三区蜜桃网| 黑人极品videos精品欧美裸| 欧美日韩欧美一区二区| 毛片精品免费在线观看| 久久久噜噜噜久久久| 久久精品1区| 久久久久成人精品| 久久久久一区| 久久亚洲精品一区二区| 欧美一区二区私人影院日本| 在线亚洲+欧美+日本专区| 亚洲精品国产精品国自产在线| 欧美激情久久久| 亚洲丰满少妇videoshd| 欧美大胆成人| 亚洲国产婷婷综合在线精品| 欧美福利视频在线| 亚洲缚视频在线观看| 亚洲精品视频一区二区三区| 亚洲天堂av图片| 小辣椒精品导航| 久久亚洲综合色一区二区三区| 欧美成人免费在线| 欧美午夜精品理论片a级大开眼界| 国产精品中文字幕欧美| 在线日韩欧美视频| 国产精品99久久久久久久vr| 亚洲欧美亚洲| 亚洲第一精品夜夜躁人人爽| 韩国精品久久久999| 亚洲人成在线观看一区二区| 亚洲综合国产精品| 久久亚洲春色中文字幕久久久| 亚洲黄色成人久久久| 亚洲资源在线观看| 欧美高清不卡| 在线播放视频一区| 欧美一区二区视频观看视频| 亚洲国产小视频在线观看| 香蕉成人伊视频在线观看| 欧美日韩福利视频| 91久久精品国产91性色tv| 久久手机精品视频| 亚洲欧美国产一区二区三区| 欧美日韩影院| 国产精品99久久99久久久二8| 欧美国产日本高清在线| 久久综合久久美利坚合众国| 国产亚洲精品v| 快播亚洲色图| 久久综合九色九九| 在线观看亚洲一区| 亚洲国产精彩中文乱码av在线播放| 久久久久久久久岛国免费| 黄色日韩精品| 亚洲福利av| 欧美视频在线观看 亚洲欧| 亚洲愉拍自拍另类高清精品| 一本久道久久综合婷婷鲸鱼| 欧美日韩大陆在线| 羞羞视频在线观看欧美| 亚洲欧美不卡| 亚洲韩日在线| 亚洲一区亚洲| 韩国av一区二区三区在线观看| 欧美国产极速在线| 欧美午夜精品一区| 久久久久久精| 欧美激情久久久久| 狼人天天伊人久久| 欧美午夜精品久久久久久超碰| 久久久爽爽爽美女图片| 你懂的国产精品| 欧美专区在线观看| 欧美黄色小视频| 国产网站欧美日韩免费精品在线观看| 久久免费国产精品| 国产精品欧美日韩一区| 欧美激情亚洲综合一区| 国产亚洲一区在线| 在线视频免费在线观看一区二区| 亚洲国产毛片完整版| 久久精品国产亚洲一区二区| 午夜精品久久久久久久99热浪潮 | 午夜精品久久久久久99热软件 | 国产欧美一区在线| 亚洲午夜久久久| 亚洲欧美另类在线| 国产精品日日做人人爱| 亚洲午夜精品网| 久久国产主播精品| 国语自产偷拍精品视频偷| 亚洲伊人色欲综合网| 欧美一区二区视频观看视频| 国产精品综合网站| 欧美一区二区三区四区高清 | 久久午夜精品| 美女视频黄 久久| 亚洲精品欧美极品| 欧美三级网页| 欧美一区二区精品| 亚洲第一黄色| 久久精品成人欧美大片古装| 激情综合视频| 欧美视频在线视频|