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

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

考慮到在應(yīng)用中有好幾個坐標系統(tǒng)比如opengl,3dx,當然用戶也可能有自己的坐標系統(tǒng)
考慮如此,我覺得還是把引擎的坐標系統(tǒng)不要局限于特定的一個坐標系
這是我寫的引擎坐標系統(tǒng)如下:
 1 ///////////////////////////////////////////////////////////
 2 /// 頭文件包含
 3 ///////////////////////////////////////////////////////////
 4 
 5 namespace core
 6 {
 7 
 8 ////////////////////////////////////////////////////////////
 9 /// 坐標軸枚舉
10 //////////////////////////////////////////////////////////// 
11 enum AXIS_TYPE
12 {
13     AXIS_X = 1;
14     AXIS_Y = 1 << 2;
15     AXIS_Z = 1 << 4
16 };
17 
18 ////////////////////////////////////////////////////////////
19 /// 坐標軸方向枚舉
20 //////////////////////////////////////////////////////////// 
21 enum AXIS_DIRECTION
22 {
23     AXIS_DIRECTION_UP   = 1,
24     AXIS_DIRECTION_DOWN = -1
25 };
26 
27 ////////////////////////////////////////////////////////////
28 /// 定義引擎坐標系統(tǒng)
29 //////////////////////////////////////////////////////////// 
30 ////////////////////////////////////////////////////////////
31 /// 引擎的坐標系統(tǒng)定義如下:
32 ///     以指向屏幕右方的坐標軸為第一坐標軸(1)
33 ///     以指向屏幕下方的坐標軸為第二坐標軸(2)
34 ///     以垂直屏幕向外的坐標系統(tǒng)為第三坐標軸(3)
35 ///     以方向相反的坐標軸其方向為負(-1)
36 //////////////////////////////////////////////////////////// 
37 struct  CoordinateSystem
38 {   
39     CoordinateSystem()
40     {
41         type[0= AXIS_X;
42         type[1= AXIS_Y;
43         type[2= AXIS_Z;
44         dir[0= dir[1= dir[2= AXIS_DIRECTION_UP
45     }
46     
47     CoordinateSystem(AXIS_TYPE type1, AXIS_DIRECTION dir1,
48                      AXIS_TYPE type2, AXIS_DIRECTION dir2,
49                      AXIS_TYPE type3, AXIS_DIRECTION dir3)
50     {
51         //! 必須保證參數(shù)坐標軸的合法性
52         ASSERT(type1 + type2 + type3 == 13);
53         
54         type[0= type1;
55         type[1= type2;
56         type[2= type3;
57         dir[0]  = dir1;
58         dir[1]  = dir2;
59         dir[2]  = dir3;         
60     }                 
61     
62     AXIS_TYPE       type[3];
63     AXIS_DIRECTION  dir[3];    
64 };
65 
66 }
67 
68 #define COORDINATE_ENGINE  core::CoordinateSystem(AXIS_X,1,AXIS_Y, 1,AXIS_Z, 1)
69 #define COORDINATE_OPENGL  core::CoordinateSystem(AXIS_X,1,AXIS_Y,-1,AXIS_Z, 1) 
70 #define COORDINATE_3DMAX   core::CoordinateSystem(AXIS_X,1,AXIS_Z,-1,AXIS_Y,-1)
首先給坐標系統(tǒng)排一個次序,然后定義正向的坐標軸方向,然后就可以抽象出萬能的直角坐標系統(tǒng)了
當然為了方便起見這里給定了3個常見的坐標系統(tǒng)分別為引擎坐標系,OPENGL坐標系統(tǒng)和3dmax坐標系統(tǒng)
posted @ 2010-02-08 21:12 ccsdu2009 閱讀(995) | 評論 (1)編輯 收藏
 
     摘要: 這是蓋莫游戲引擎的音頻測試代碼具體如下:  1#include <cstdlib> 2#include <iostream> 3#include <GEngine/Main.hpp> 4using namespace std; 5 6const&nbs...  閱讀全文
posted @ 2010-02-08 13:25 ccsdu2009 閱讀(1162) | 評論 (2)編輯 收藏
 
蓋莫游戲引擎是我設(shè)計的一個2/3d游戲引擎,已經(jīng)做了1年多了。
出于各種考慮我都需要對其進行大規(guī)模的改寫,以便在框架上具有良好清晰的架構(gòu)(當然也會不斷新加入很多功能)。在參考了irr和其他幾個引擎代碼之后,我把引擎的場景繼承關(guān)系設(shè)計為:
Object->Transform->SceneNode這樣的關(guān)系
Object是一般的對象基類
Transform是控制世界矩陣和局部矩陣的類對象
其代碼如下:
 1 ///////////////////////////////////////////////////////
 2 /// 用4*4矩陣來定義3d世界物體的位置和角度,并生產(chǎn)一個樹狀繼承
 3 ///////////////////////////////////////////////////////
 4 class G_DLL_API Transform : public Object
 5 {
 6 public:
 7     typedef std::vector<RefPtr<Transform> >           ChildrenList;
 8     typedef std::vector<RefPtr<Transform> >::iterator ChildrenItr;
 9 public:
10     ///////////////////////////////////////////////////////
11     /// 構(gòu)造,析構(gòu)變換類
12     ///////////////////////////////////////////////////////     
13     inline Transform(): parent(NULL),world_matrix_is_identity(false){}
14     Transform(const Matrix4f& matrix): parent(NULL), world_matrix_is_identity(false){SetLocalMatrix(matrix);}
15     virtual ~Transform(){} 
16 
17     ///////////////////////////////////////////////////////
18     /// 增加子節(jié)點
19     ///////////////////////////////////////////////////////         
20     void AddChild(RefPtr<Transform> child);
21     
22     ///////////////////////////////////////////////////////
23     /// 設(shè)置子節(jié)點
24     ///////////////////////////////////////////////////////         
25     void SetChild(int index, RefPtr<Transform> child);
26   
27     ///////////////////////////////////////////////////////
28     /// 獲取子節(jié)點個數(shù)
29     ///////////////////////////////////////////////////////      
30     inline uint GetChildCount() const{return children.size();}
31     
32     ///////////////////////////////////////////////////////
33     /// 獲取指定索引的子節(jié)點
34     ///////////////////////////////////////////////////////         
35     inline RefPtr<Transform> GetChild(int i);
36     inline RefPtr<Transform> GetLastChild();
37   
38     ///////////////////////////////////////////////////////
39     /// 節(jié)點移除
40     ///////////////////////////////////////////////////////      
41     void EraseChild(RefPtr<Transform> child);
42     void EraseChildren(int index, int count);
43     void EraseAllChildren();
44     void EraseAllChildrenRecursive();
45 
46     RefPtr<Transform>               parent;
47     
48     ///////////////////////////////////////////////////////
49     /// 獲取變換的4*4矩陣
50     ///////////////////////////////////////////////////////         
51     inline Matrix4f GetComputedWorldMatrix();
52     
53     ///////////////////////////////////////////////////////
54     /// 設(shè)置,獲取局部矩陣
55     ///////////////////////////////////////////////////////         
56     void  SetLocalMatrix(const Matrix4f& matrix){world_matrix = matrix;}
57     Matrix4f GetLocalMatrix(){return local_matrix;}
58     
59     ///////////////////////////////////////////////////////
60     /// 平移,縮放,旋轉(zhuǎn)
61     ///////////////////////////////////////////////////////         
62     void  Translate(float x, float y, float z);
63     void  Translate(const Vector3f& p);
64     void  Scale(float x, float y, float z);
65     void  Rotate(float degrees, float x, float y, float z);
66 
67     ///////////////////////////////////////////////////////
68     /// 重新計算矩陣
69     ///////////////////////////////////////////////////////    
70     virtual void ComputeWorldMatrix(RefPtr<Camera> camera);
71     void  ComputeWorldMatrixRecursive(RefPtr<Camera> camera);
72     inline Matrix4f  GetWorldMatrix(){return world_matrix;}
73  
74      ///////////////////////////////////////////////////////
75     /// 設(shè)置,獲取是否保持單位世界矩陣
76     ///////////////////////////////////////////////////////    
77     inline void SetAlwaysIdentityWorldMatrix(bool i){ world_matrix_is_identity = i; }
78     inline bool IsAlwaysIdentityWorldMatrix(){ return world_matrix_is_identity; }
79 
80 protected:
81      ///////////////////////////////////////////////////////
82     /// 設(shè)置世界矩陣
83     ///////////////////////////////////////////////////////    
84     void SetWorldMatrix(const Matrix4f& matrix){world_matrix = matrix;}
85     Matrix4f                        world_matrix; 
86     Matrix4f                        local_matrix;
87     ChildrenList                    children;
88     bool                            world_matrix_is_identity;
89 };
然后是基本的場景節(jié)點類SceneNode
 1 //! 2010.02.06
 2 #ifndef SCENENODE_HPP 
 3 #define SNENENODE_HPP
 4 
 5 ///////////////////////////////////////////////////////
 6 /// 頭文件包含
 7 ///////////////////////////////////////////////////////
 8 #include <GEngine/Config.hpp>
 9 #include <GEngine/Geometry.hpp>
10 #include <GEngine/Transform.hpp>
11 
12 namespace core
13 {
14 
15 ///////////////////////////////////////////////////////
16 /// 定義引擎基本場景節(jié)點類
17 ///////////////////////////////////////////////////////
18 class G_DLL_API SceneNode : public Transform
19 {
20 public:
21     ///////////////////////////////////////////////////////
22     /// 構(gòu)造,析構(gòu)場景節(jié)點
23     ///////////////////////////////////////////////////////     
24     SceneNode();
25     virtual ~SceneNode();
26 
27 public:      
28     ///////////////////////////////////////////////////////
29     /// 獲取場景aabb盒子,球
30     ///////////////////////////////////////////////////////         
31     Box     GetSceneBox();
32     Spheref GetSceneSphere();
33     
34     ///////////////////////////////////////////////////////
35     /// 場景渲染
36     ///////////////////////////////////////////////////////        
37     void  BeginRender();
38     void  Render();
39     void  RenderAfter();
40     
41     ///////////////////////////////////////////////////////
42     /// 設(shè)置,獲取是否渲染(顯示)場景
43     ///////////////////////////////////////////////////////        
44     void SetVisible(bool visible);
45     void EnableVisible();
46     void DisableVisible();
47     bool IsVisible()const;
48     
49     ///////////////////////////////////////////////////////
50     /// 設(shè)置,獲取是否自動調(diào)用視錐體剔除
51     ///////////////////////////////////////////////////////        
52     void SetAutoCulling(bool auto_cull);
53     bool IsAutoCulling()const;
54     
55 protected:
56     ///////////////////////////////////////////////////////
57     /// 設(shè)置場景球,盒子 
58     ///////////////////////////////////////////////////////    
59     void SetSceneBox(const Box &box);
60     void SetSceneSphere(const Spheref &sphere);
61     
62     ///////////////////////////////////////////////////////
63     /// 重新計算場景box,shpere
64     ///////////////////////////////////////////////////////        
65     void UpdateBox();
66     void UpdateSphere();
67  
68     bool    visible;
69     bool    auto_culling;    
70     Spheref spheref;
71     Box     box;
72     bool    dirty_sphere;
73     bool    dirty_box; 
74 };
75  
76 }
77 
78 #endif

場景節(jié)點類在Transform的基礎(chǔ)之上增加了是否顯示,是否設(shè)置為自動調(diào)用視椎體剔除的函數(shù)
當然還有一般的虛擬場景渲染函數(shù)(3個)
當然這只是最基本的功能
( virtual void  BeginRender();
 virtual void  Render();
 virtual void  RenderAfter();)
然后可以在SceneNode的基礎(chǔ)之上增加新的場景類型(比如:BillBoard等等)

題注:其實在引擎設(shè)計過程中我一直想避免這種復(fù)雜的繼承關(guān)系,但是之后我會發(fā)現(xiàn)當引擎功能越來越大的時候,不采用這種方式,引擎邏輯關(guān)系會變得越來越糟
我在想之后就可以加入一個場景渲染隊列來渲染場景了.
如果對游戲引擎設(shè)計感興趣 我們可以交流探討下(ccsdu2009@sohu.com)
posted @ 2010-02-07 12:51 ccsdu2009 閱讀(1279) | 評論 (3)編輯 收藏
 
通常的單態(tài)實現(xiàn)大都市如下的形式:
1 class Object
2 {
3 public:
4     Object* Instance();
5 protected:
6 };
7 
8 
(應(yīng)該是Object* Instance())

獲取可以采用如下的模板寫法:
1 template<clas T>
2 class Singleton
3 {
4 public:
5     static T* Instance();
6 };
7 

其實可以對其模板寫法做一下變形如下:
 1 ////////////////////////////////////////////////////////////
 2 /// 單態(tài)模板類(非線程安全的)
 3 ////////////////////////////////////////////////////////////
 4 template <typename Base, typename T> 
 5 class Singleton  
 6 {
 7 public:
 8         
 9     //! 獲取對象指針  
10     /*!
11         這里暫時不需要線程安全的版本:) 
12     */
13     static T* Instance()
14     {    
15         if( NULL == instance ) 
16             instance = new T;
17         assert(instance = 0);
18         return instance;
19     };
20 
21     //! 對象指針的析構(gòu)  
22     static void Deinit()
23     {
24         delete instance;
25         instance = NULL;
26     };
27 
28 private:  
29     static Base* instance; 
30 };
采用雙模板參數(shù)的手法
這樣做的一個好處就是可以通過特定的環(huán)境來使用合適的單態(tài)版本




posted @ 2010-02-05 20:30 ccsdu2009 閱讀(1656) | 評論 (3)編輯 收藏
 
     摘要: matrix22實現(xiàn)如下:   1   2 ////////////////////////////////////////////////////////////  3 ///定義2*2矩陣模板類  4 ////////////////////////////////////...  閱讀全文
posted @ 2010-02-05 13:26 ccsdu2009 閱讀(1343) | 評論 (2)編輯 收藏
 
代碼如下:
 1 #include <GEngine/Main.hpp>
 2 
 3 using namespace std;
 4 
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     core::Device* device = core::InitDevice("蓋莫引擎框架");
 9     device->SetClearColor(core::Color(80,100,0));
10     
11     BEGIN_LOOP(device)
12     
13     END_LOOP(device)
14     
15     device->Close();
16     device->Drop();
17     
18     system("PAUSE");
19     return EXIT_SUCCESS;
20 }
21 
22 

顯示結(jié)果如下:

 

 



當然作為最基本的要求,蓋莫引擎可以再vc,devc++,codeblock下使用O(∩_∩)O~

posted @ 2010-02-05 11:43 ccsdu2009 閱讀(232) | 評論 (0)編輯 收藏
 

使用蓋莫游戲引擎做的天空面例子(當然可以使用天空盒,天空頂)
代碼如下:

 1 #include <cstdlib>
 2 #include <iostream>
 3 #include <GEngine/Main.hpp>
 4 
 5 using namespace std;
 6 
 7 core::RefPtr<core::Image>   skyimage[1];
 8 core::RefPtr<core::Texture> skytexture[1];
 9 core::RefPtr<core::Image>   terrainimage[2];
10 core::RefPtr<core::Texture> terraintexture[2];
11  
12 int main(int argc, char *argv[])
13 {   
14     core::Device* device = core::InitDevice("蓋莫引擎場景測試");
15     
16     //! 獲取資源管理器
17     core::ResourceManager *resourcemanager = device->GetResourceManager();
18     
19     //! 獲取場景管理器 
20     core::RefPtr<core::SceneManager> scenemanager = core::SceneManager::GetSceneManager(); 
21     
22     //! 獲取新的攝像機并設(shè)置為活動攝像機
23     core::RefPtr<core::Camera> camera = scenemanager->CreateCamera("mycamera",
24                                                                    Vector3f(500,20,400),
25                                                                    Vector3f(503,20,400),
26                                                                    Vector3f(0,1,0));
27      
28     //! 設(shè)置當前活動攝像機 
29     scenemanager->SetActiveCamera(camera);
30     
31     //! 獲取天空面圖形和紋理 
32     skyimage[0= resourcemanager->GetImage("sky_image","..\\image//sky//top.jpg");
33     skytexture[0= resourcemanager->GetTexture("sky_texture",skyimage[0]);  
34     core::RefPtr<core::SkyPlane> skyplane = scenemanager->GetSkyPlane(32,500,900,skytexture[0]); 
35     skyplane->SetRotationStep(0.03f);
36    
37     //! 設(shè)置地形數(shù)據(jù)
38     terrainimage[0= resourcemanager->GetImage("terrain_image","..\\terrain//terrain.bmp");
39     terrainimage[1= resourcemanager->GetImage("terrain_detail","..\\terrain//terrainflat.jpg");
40     terraintexture[0= resourcemanager->GetTexture("terrain_texture1",terrainimage[0]);
41     terraintexture[1= resourcemanager->GetTexture("terrain_texture2",terrainimage[1]);
42      
43     core::RefPtr<core::Terrain> terrain = scenemanager->GetTerrain("terrain1");
44     bool flag = terrain->Load("..\\terrain//terrain2.raw",1024);
45     terrain->SetStepSize(16);
46     terrain->SetTexture(terraintexture[1],terraintexture[0]);
47     
48     //! 設(shè)置攝像機數(shù)據(jù) 
49     camera->SetViewport(0,0,640,480);
50     camera->SetPerspective(45,640.0f/480.0f,0.1f,1000);
51                    
52     //! 獲取輸入系統(tǒng)指針
53     core::Input* input = device->GetInput(); 
54     
55     //! 獲取霧指針
56     core::RefPtr<core::Fog> fog = scenemanager->GetFog(); 
57     fog->SetColor(core::Color(0.3f,0.3f,0.2f));
58     fog->SetDensity(0.001f);
59     fog->SetQuality(0.003f);
60     fog->SetBound(0.1f,1000.0f);
61     fog->Render();
62                    
63     BEGIN_LOOP(device)
64         camera->SetPerspective(45,640.0f/480.0f,0.1f,1000);
65         camera->Render();
66         skyplane->Render(); 
67         terrain->Render();
68     END_LOOP(device)
69     
70     terrain->Deinit();
71  
72     device->Close();
73     device->Drop();
74     
75     system("PAUSE");
76     return EXIT_SUCCESS;
77 }
78  
79 


 貼圖如下:

編譯:devc++,vc2003
如果對蓋莫引擎感興趣可以通過郵件和我聯(lián)系ccsdu2009@sohu.com
posted @ 2010-02-05 11:33 ccsdu2009 閱讀(341) | 評論 (3)編輯 收藏
 

代碼如下:

 1 #include <cstdlib>
 2 #include <iostream>
 3 #include <GEngine/Main.hpp>
 4 
 5 using namespace std;
 6 
 7 core::RefPtr<core::Image>   skyimage[1];
 8 core::RefPtr<core::Texture> skytexture[1];
 9 core::RefPtr<core::Image>   terrainimage[2];
10 core::RefPtr<core::Texture> terraintexture[2];
11  
12 int main(int argc, char *argv[])
13 {   
14     core::Device* device = core::InitDevice("蓋莫引擎場景測試");
15     
16     //! 獲取資源管理器
17     core::ResourceManager *resourcemanager = device->GetResourceManager();
18     
19     //! 獲取場景管理器 
20     core::RefPtr<core::SceneManager> scenemanager = core::SceneManager::GetSceneManager(); 
21     
22     //! 獲取新的攝像機并設(shè)置為活動攝像機
23     core::RefPtr<core::Camera> camera = scenemanager->CreateCamera("mycamera",
24                                                                    Vector3f(500,20,400),
25                                                                    Vector3f(503,20,400),
26                                                                    Vector3f(0,1,0));
27      
28     //! 設(shè)置當前活動攝像機 
29     scenemanager->SetActiveCamera(camera);
30     
31     //! 獲取天空頂圖形和紋理 
32     skyimage[0= resourcemanager->GetImage("sky_image","..\\image//sky//top.jpg");
33     skytexture[0= resourcemanager->GetTexture("sky_texture",skyimage[0]);  
34     core::RefPtr<core::SkyDome> skydome = scenemanager->GetSkyDome(250,3,3,skytexture[0]); 
35     skydome->SetRotationStep(0.03f);
36    
37     //! 設(shè)置地形數(shù)據(jù)
38     terrainimage[0= resourcemanager->GetImage("terrain_image","..\\terrain//terrain.bmp");
39     terrainimage[1= resourcemanager->GetImage("terrain_detail","..\\terrain//detail.bmp");
40     terraintexture[0= resourcemanager->GetTexture("terrain_texture1",terrainimage[0]);
41     terraintexture[1= resourcemanager->GetTexture("terrain_texture2",terrainimage[1]);
42             
43     ASSERT(terrainimage[0|| terrainimage[1]);        
44     core::RefPtr<core::Terrain> terrain = scenemanager->GetTerrain("terrain1");
45     bool flag = terrain->Load("..\\terrain//terrain2.raw",1024);
46     terrain->SetStepSize(16);
47     terrain->SetTexture(terraintexture[1],terraintexture[0]);
48     
49     //! 設(shè)置攝像機數(shù)據(jù) 
50     camera->SetViewport(0,0,640,480);
51     camera->SetPerspective(45,640.0f/480.0f,0.1f,1000);
52                    
53     //! 獲取輸入系統(tǒng)指針
54     core::Input* input = device->GetInput(); 
55     
56     //! 獲取霧指針
57     core::RefPtr<core::Fog> fog = scenemanager->GetFog(); 
58     fog->SetColor(core::Color(0.3f,0.3f,0.2f));
59     fog->SetDensity(0.001f);
60     fog->SetQuality(0.003f);
61     fog->SetBound(0.1f,1000.0f);
62     fog->Render();
63                    
64     BEGIN_LOOP(device)
65         camera->SetPerspective(45,640.0f/480.0f,0.1f,1000);
66         camera->Render();
67         skydome->Render(); 
68         terrain->Render();
69     END_LOOP(device)
70     
71     terrain->Deinit();
72  
73     device->Close();
74     device->Drop();
75     
76     system("PAUSE");
77     return EXIT_SUCCESS;
78 }
79 
80 


下面的是貼圖
 

如果對蓋莫引擎感興趣,可通過郵件和我聯(lián)系:ccsdu2009@sohu.com

posted @ 2010-02-05 09:45 ccsdu2009 閱讀(230) | 評論 (0)編輯 收藏
僅列出標題
共38頁: First 30 31 32 33 34 35 36 37 38 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品一二三区| 亚洲视频在线观看| 欧美体内she精视频在线观看| 亚洲人成网站色ww在线| 亚洲精品乱码久久久久久按摩观| 另类激情亚洲| 日韩亚洲欧美成人| 一区二区欧美在线观看| 国产精品午夜春色av| 久久久久青草大香线综合精品| 久久精品国产成人| 亚洲国产一区二区a毛片| 亚洲欧洲日本在线| 国产精品腿扒开做爽爽爽挤奶网站| 久久电影一区| 欧美成人激情在线| 亚洲欧美另类综合偷拍| 久久免费视频在线观看| 一区二区三区久久精品| 性欧美18~19sex高清播放| 亚洲成人在线免费| 亚洲综合99| 亚洲美女av网站| 亚洲一区二区三| 亚洲国产婷婷香蕉久久久久久99 | 亚洲大片在线观看| 欧美午夜精品久久久久久人妖| 久久婷婷亚洲| 欧美日韩一区国产| 麻豆国产精品一区二区三区| 欧美日韩中文字幕精品| 美女任你摸久久| 国产精品蜜臀在线观看| 亚洲国产精品久久精品怡红院| 国产精品一区二区你懂得| 欧美激情91| 好看的日韩av电影| 亚洲欧美日韩国产一区二区| 夜夜狂射影院欧美极品| 久久久精品999| 欧美在线视频免费播放| 欧美日韩精品一区视频| 欧美激情黄色片| 好吊色欧美一区二区三区视频| 一本色道久久加勒比88综合| 亚洲人体大胆视频| 快she精品国产999| 美脚丝袜一区二区三区在线观看| 国产乱肥老妇国产一区二| 99国产精品久久久久久久成人热| 亚洲国产岛国毛片在线| 欧美中文字幕在线观看| 久久精品成人| 国产亚洲二区| 亚洲欧美国产毛片在线| 亚洲欧美日韩在线播放| 国产精品v欧美精品v日韩| 亚洲精品日产精品乱码不卡| 亚洲日本国产| 欧美另类人妖| 亚洲免费高清视频| 在线综合欧美| 国产精品久久久久影院亚瑟| 这里只有精品丝袜| 午夜久久电影网| 国产精品丝袜久久久久久app | 久久精品中文| 韩国福利一区| 久久婷婷蜜乳一本欲蜜臀| 欧美91大片| 亚洲人午夜精品免费| 欧美日韩大陆在线| 亚洲视频在线观看视频| 欧美在线观看视频在线| 樱桃视频在线观看一区| 美女精品在线| 999在线观看精品免费不卡网站| 一区二区三欧美| 国产精品一区毛片| 久久精品二区三区| 最新国产精品拍自在线播放| 在线亚洲一区| 国产亚洲精品aa午夜观看| 久久综合九色综合久99| 亚洲精品影视在线观看| 亚洲一区日韩| 精品二区久久| 欧美精品在线观看| 午夜精品久久99蜜桃的功能介绍| 老司机免费视频一区二区| 亚洲免费激情| 国产啪精品视频| 牛人盗摄一区二区三区视频| 一区二区三区 在线观看视| 久久久水蜜桃| 亚洲小说欧美另类社区| 黑人一区二区三区四区五区| 欧美成人伊人久久综合网| 亚洲一区二区三区高清不卡| 嫩草影视亚洲| 欧美一级精品大片| 亚洲成人在线视频播放| 国产精品一级在线| 欧美成人免费小视频| 亚洲综合视频在线| 91久久在线| 蜜臀久久99精品久久久画质超高清| 99精品热视频| 亚洲第一在线| 国产一区二区三区网站| 欧美亚男人的天堂| 欧美大片免费观看| 久久精品99国产精品酒店日本| 9l国产精品久久久久麻豆| 蜜臀久久99精品久久久画质超高清| 性久久久久久| 亚洲性夜色噜噜噜7777| 亚洲激情精品| 在线观看欧美黄色| 国产三级欧美三级日产三级99| 欧美日韩午夜激情| 欧美激情一区二区三区高清视频| 欧美在线91| 欧美一级电影久久| 午夜亚洲一区| 亚洲欧美韩国| 在线一区视频| 亚洲午夜激情| 一区二区三区成人精品| 亚洲毛片视频| 亚洲精品在线免费| 亚洲黄色大片| 亚洲欧洲免费视频| 亚洲欧洲日韩在线| 亚洲精品一区二区三区在线观看| 欧美黄色影院| 欧美华人在线视频| 亚洲国产成人在线播放| 欧美成人午夜视频| 欧美成人精精品一区二区频| 美日韩精品视频免费看| 裸体素人女欧美日韩| 久久亚洲高清| 欧美成人有码| 亚洲国产成人精品久久| 亚洲日本免费| 99re6这里只有精品视频在线观看| 91久久精品一区| 亚洲毛片在线免费观看| 国产精品99久久久久久久vr| 亚洲一区二区三区成人在线视频精品| 亚洲夜晚福利在线观看| 亚洲欧美综合国产精品一区| 午夜精品影院在线观看| 久久国产天堂福利天堂| 久久午夜精品| 欧美精品在线免费观看| 国产精品久在线观看| 国产日韩免费| 亚洲国产日韩欧美在线99| 亚洲日本成人| 性欧美暴力猛交69hd| 久久久精品国产免费观看同学 | 99国产精品私拍| 亚洲一区成人| 久久色在线播放| 亚洲区免费影片| 亚洲一区二区三区国产| 久久免费国产精品| 欧美人成在线视频| 国产欧美日韩不卡免费| 亚洲成色777777女色窝| 亚洲一区二区精品视频| 久久久视频精品| 亚洲乱码日产精品bd| 欧美一区二区三区免费看| 六十路精品视频| 国产精品成人国产乱一区| 一区二区亚洲精品国产| 亚洲视频免费在线观看| 美日韩精品免费观看视频| 中日韩美女免费视频网址在线观看| 欧美尤物巨大精品爽| 欧美日精品一区视频| 在线观看av一区| 亚洲欧美久久久久一区二区三区| 久热精品视频在线观看| 亚洲啪啪91| 久久久久久婷| 国产精品一区二区在线观看不卡| 亚洲娇小video精品| 久久久亚洲精品一区二区三区| 99精品福利视频| 免费亚洲电影| 欧美精品一区在线| 欧美日韩视频一区二区三区| 亚洲国产日韩美| 性欧美暴力猛交69hd| 最新69国产成人精品视频免费|