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

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

    時(shí)不時(shí)總是聽(tīng)見(jiàn)有些"人"說(shuō),什么軟件不開(kāi)源**(此處省略2個(gè)字)。
    其實(shí)平心而論,從開(kāi)發(fā)者角度講軟件開(kāi)源與否并不重要,主要的是開(kāi)源軟件的意義何在?
    對(duì)于使用者而言,她只需要能夠熟練掌握軟件同時(shí)在一定程度上熟悉原理即可并不需要完全閱讀軟件源碼?
    我們以后越來(lái)越多的軟件將會(huì)使用Qt開(kāi)發(fā)但是我并不打算編譯QT和閱讀QT源碼。
    同樣有些代碼即使給你也不一定看得懂。
    再者有些軟件適合開(kāi)源,有些軟件不適合開(kāi)源
    開(kāi)源與否不是有些"人"罵幾句就可以改變的了。
   
    我的博客動(dòng)不動(dòng)就跑進(jìn)來(lái)幾個(gè)"人"上門(mén)開(kāi)罵(想想其他人也有類(lèi)似情況吧)
    而且我刪除了評(píng)論竟然還發(fā)帖繼續(xù)開(kāi)罵(我似乎沒(méi)有影響到他人吧)(有的話(huà)把博客注銷(xiāo)還是為好吧.)

    題外話(huà):我感覺(jué)能上cppblog的基本上都是受過(guò)高等教育的人,可是印象中感覺(jué)其中帶引號(hào)的"人"還是不少啊。

-----------------------------------------------------------------------------------------------
以后不允許匿名發(fā)帖咯 
    

posted @ 2010-09-21 13:59 ccsdu2009 閱讀(2167) | 評(píng)論 (9)編輯 收藏
 
首先上代碼吧
個(gè)人感覺(jué)寫(xiě)的很清爽
/*!==========================================================================
 *
 *  蓋莫游戲引擎(GaiMo Game Engine)
 *
 *  版權(quán)所有 (C) 2009-2009 成都蓋莫軟件技術(shù)工作室 保留所有權(quán)利
 *  Copyright (C) 成都蓋莫軟件技術(shù)工作室.  All Rights Reserved.
 *
 *  了解更多情況,請(qǐng)?jiān)L問(wèn) 
http://www.gaimo.net
 ***************************************************************************
*/
//! 本demo測(cè)試引擎渲染到紋理功能
#include <iostream>
#include 
<GEngine/Header_Config.hpp>

using namespace std;
using namespace core;

#define FRAME_NUMBER 12

//! 定義圖形紋理指針
RefPtr<core::Texture>  texture_ptr[FRAME_NUMBER];
//! 渲染到紋理指針
RefPtr<Renderable> rendertotexture;
core::TextDesc
* text = NULL;
Matrix4f mat;
float pos[] = {0,0,0};
float length[] = {16,16,16};
void  CreateTexture();
void  InitCamera();
void  Render();

int main(int argc, char *argv[])
{
    
//! 窗體描述符
    ScreenDesc desc;
    desc.name_ 
= "RenderToTextureTest";
    
//! 生成窗體
    RefPtr<Screen> screen = CreateScreen(desc);

    
//! 生成紋理
    CreateTexture();

    
//! 初始化攝像機(jī)
    InitCamera();

    
while(screen->IsOpen())
    {
        Render();
    }

    DestroyScreen();
    
return EXIT_SUCCESS;
}

//! 構(gòu)造紋理
void CreateTexture()
{
    
//! 載入資源包
    GLOBAL_FILESYSTEM_PTR->RegisterPackage("..\\package\\logo.zip");
    RefPtr
<core::ReadFile> imagefile;

    RefPtr
<Image> image[FRAME_NUMBER];
    
for(int i = 0;i < FRAME_NUMBER ;i++)
    {
        std::
string name = ToString<int>(i);
        imagefile 
= GLOBAL_FILESYSTEM_PTR->GetRead("logo.jpg");
        image[i] 
= GLOBAL_IMAGEMANAGER_PTR->CreateImage(name,imagefile);
    }

    
//! 反色
    image[0]->GetInvertImage();
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(0),image[0]);
    
//! 水平翻轉(zhuǎn)
    image[1]->FlipImage(Image::IMAGE_FLIP_X);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(1),image[1]);
    
//! 豎直翻轉(zhuǎn)
    image[2]->FlipImage(Image::IMAGE_FLIP_Y);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(2),image[2]);
    
//! Gamma調(diào)整
    image[3]->AdjustGamma(0.4);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(3),image[3]);
    
//! 亮度調(diào)整
    image[4]->AdjustBrightness(0.4);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(4),image[4]);
    
//! 對(duì)比度調(diào)整
    image[5]->AdjustContrast(0.6);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(5),image[5]);
    
//! 翻轉(zhuǎn)
    image[6]->FlipImage(Image::IMAGE_FLIP_XY);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(6),image[6]);
    
//! 旋轉(zhuǎn)
    image[7]->RotatedImage(Image::IMAGE_ROTATE_90);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(7),image[7]);
    
//! Gamma調(diào)整
    image[8]->AdjustGamma(0.1);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(8),image[8]);
    
//! 亮度調(diào)整
    image[9]->AdjustBrightness(0.8);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(9),image[9]);
    
//! 對(duì)比度調(diào)整
    image[10]->AdjustContrast(0.3);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(10),image[10]);
    GLOBAL_TEXTUREMANAGER_PTR
->CreateTexture2(ToString<int>(11),image[11]);

    
for(int i = 0; i < FRAME_NUMBER; i++)
    {
        
//! 紋理構(gòu)建
        GLOBAL_TEXTUREMANAGER_PTR->GetObject(ToString<int>(i))->Generate();
    }

    text 
= new core::TextDesc("..\\package\\accid.ttf",12,0,0,3,Color::Cyan);
    text
->SetText(engine_wstring(L"maker:gaimosoft,ccsdu2004@yahoo.com.cn"));

    
//! 獲取渲染到紋理指針
    rendertotexture = GLOBAL_RENDERER_PTR->GetRenderToTexture(640,480,GL_RGBA,GL_FLOAT);

    glEnable(GL_DEPTH_TEST);
}

void InitCamera()
{
    RefPtr
<Camera> orthocamera = GLOBAL_CAMERAMANAGER_PTR->CreateCamera("orthocamera");
    orthocamera
->SetOrtho(0,640,480,0,-1.2,0.8);
    RefPtr
<Camera> camera = GLOBAL_CAMERAMANAGER_PTR->GetActiveCamera();
    camera
->GetViewPort()->Render();
    camera
->SetPerspective(45.0f,640.0f/480.0f,1.0f,600.0f);
    camera
->SetPosition(Vector3f(20,20,20));
    camera
->SetView(Vector3f());
    camera
->ApplayProjectMatrix();
}

void RenderTexture()
{
    std::
string texturename;
    
for(int i = 0; i < FRAME_NUMBER; i++)
    {
        texturename 
= ToString<int>(i);
        GLOBAL_TEXTUREMANAGER_PTR
->GetObject(texturename)->AttachRenderTarget();
        UI_Brush::RenderTexture((i
%4)*160,(i/4)*160,160,160);
    }
}

//! 處理鼠標(biāo)響應(yīng)
void MouseCheck()
{
    
if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F1))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,1,0,0);
    }
    
else if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F2))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,0,1,0);
    }
    
else if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F3))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,0,0,1);
    }
}

void RenderText()
{
    UI_Brush::PreRender();
    
static int offset = 0;
    text
->Render(Rectf(offset,460,400,20));
    offset 
++;
    
if(offset >= 600)
        offset 
= -500;
    UI_Brush::PostRender();
}

void RenderToTexture()
{
    rendertotexture
->BeginRender();
    GLOBAL_RENDERER_PTR
->Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    GLOBAL_CAMERAMANAGER_PTR
->GetObject("orthocamera")->ApplayProjectMatrix();
    RenderTexture();
    RenderText();
    rendertotexture
->AfterRender();
}

void RenderToScreen()
{
    GLOBAL_RENDERER_PTR
->Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    GLOBAL_CAMERAMANAGER_PTR
->GetActiveCamera()->ApplayProjectMatrix();
    GLOBAL_CAMERAMANAGER_PTR
->GetActiveCamera()->ApplayViewMatrix();
    GLOBAL_RENDERER_PTR
->DrawCube(pos,mat.ptr(),length);
}

void Render()
{
    MouseCheck();
    RenderToTexture();
    RenderToScreen();
}

基本步驟就是生成窗體
初始化攝像機(jī)
生成紋理
渲染到紋理
渲染到窗體
完了

圖圖如下:
似乎我比較喜歡貼立方體啊 呵呵
posted @ 2010-09-17 18:22 ccsdu2009 閱讀(517) | 評(píng)論 (0)編輯 收藏
 
重新修改了引擎的視頻播放這塊
并把視頻等幾個(gè)模塊做成了插件的形式
具體代碼和截圖如下:
//! 本代碼測(cè)試引擎視頻播放,插件系統(tǒng),鍵盤(pán)測(cè)試和立方體繪制
#include <iostream>
#include 
<GEngine/Header_Config.hpp>

Matrix4f mat;
float pos[] = {0,0,0};
float length[] = {1,1,1};
float offset = -500;
using namespace core;
void MouseCheck();

VideoPlayer
* video_player_instance = NULL;

int main(int argc,char *argv[])
{
    ScreenDesc desc;
    desc.name_ 
= "VideoPlayerTest";
    RefPtr
<Screen> screen = CreateScreen(desc);

    GLOBAL_PLUGINMANAGER_PTR
->SetPluginFolder("..\\plugin");
    GLOBAL_PLUGINMANAGER_PTR
->InstallPlugin();

    VideoPlayerFactory factory;
    GLOBAL_PLUGINMANAGER_PTR
->RegisterPluginFactory(&factory);
    factory.SetData(
1,screen->GetHDC());
    factory.SetData(
2,screen->GetHGLRC());
    video_player_instance 
= factory.Create();

    core::TextDesc
* text = new core::TextDesc("..\\package\\accid.ttf",12,0,0,3,Color::Cyan);
    text
->SetText(L"maker:gaimosoft,ccsdu2004@yahoo.com.cn");
    video_player_instance
->Play("..\\package\\video.mp4");

    
while(screen->IsOpen())
    {
        GLOBAL_RENDERER_PTR
->Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        video_player_instance
->Update();
        GLOBAL_RENDERER_PTR
->AttachThreadRender();
        GLOBAL_RENDERER_PTR
->Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        
uint id = video_player_instance->GetFrame();
        GLOBAL_TEXTUREMANAGER_PTR
->BindTexture2(id);
        GLOBAL_RENDERER_PTR
->DrawCube(pos,mat.ptr(),length);
        UI_Brush::PreRender();
        text
->Render(Rectf(offset,460,400,20));
        offset 
++;
        
if(offset >= 600)
           offset 
= -500;
        UI_Brush::PostRender();
        GLOBAL_RENDERER_PTR
->DetachThreadRender();
        MouseCheck();
    }

    video_player_instance
->Stop();
    delete text;
    DestroyScreen();
    
return EXIT_SUCCESS;
}

//! 處理鼠標(biāo)響應(yīng)
void MouseCheck()
{
    
if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F1))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,1,0,0);
    }
    
else if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F2))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,0,1,0);
    }
    
else if(GLOBAL_INPUT_PTR->IsPressedKey(KEY_F3))
    {
        mat
*=mat.Rotate((rand()%200)/900.0f,0,0,1);
    }
}

這次并沒(méi)有做成全窗體播放的樣子而是從播放器獲取紋理標(biāo)識(shí)
然后再渲染之 這樣可以作出滿(mǎn)意的樣子了
截圖為:


1.
posted @ 2010-09-09 18:38 ccsdu2009 閱讀(1367) | 評(píng)論 (0)編輯 收藏
 
opengl中

gluBuild2DMipmaps()與glTexImage2D()

是很常用的函數(shù)
他們的作用是綁定函數(shù)
但是有時(shí)候使用
glTexImage2D

并不能正確綁定紋理
其原因據(jù)我所知有2個(gè)
1個(gè)是圖形大小不是2的整數(shù)次冪
還有一個(gè)就是
如果使用glTexImage2D,則在紋理包裹模式中不適用MIPMAP系列
posted @ 2010-09-01 18:34 ccsdu2009 閱讀(2363) | 評(píng)論 (1)編輯 收藏
 
     摘要: 文件系統(tǒng)的功能:1.資源包裹2.提供資源載入速度3.資源加密在蓋莫游戲引擎中文件系統(tǒng)由讀文件,寫(xiě)文件,XML序列化對(duì)象,ConfigFile構(gòu)成文件系統(tǒng)的接口如下:1.讀文件 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/////////////...  閱讀全文
posted @ 2010-08-21 16:26 ccsdu2009 閱讀(1616) | 評(píng)論 (2)編輯 收藏
 
使用boost pool的簡(jiǎn)單例子如下:
#include <cstdlib>
#include 
<iostream>
#include 
<boost/pool/pool.hpp>
#include 
<boost/pool/object_pool.hpp>
using namespace std;
using namespace boost;

class Object
{
public:
    Object(){cout
<<"new obj"<<endl;}
    
~Object(){cout<<"delete obj"<<endl;}      
}; 

int main(int argc, char *argv[])
{   
    
//!每次分配的塊的大小
    const int blocksize = sizeof(int); 
    boost::pool
<> alloc(blocksize);
    
for(int i = 0; i < 100; i++)
    {   
        
//! 分配 
        int* ptr = (int*)alloc.malloc();
        cout
<<*ptr<<endl;
        
//! 釋放     
        alloc.free(ptr);    
    }
    
    
//!object pool每次需要指定對(duì)象大小 
    boost::object_pool<Object> pool_alloc;
    
for(int i = 0;i < 100;i++)
    {   
        
//! 分配內(nèi)存 
        void* mem = pool_alloc.malloc();
        
//! 構(gòu)造
        Object *obj = new(mem)Object(); 
        
//! 析構(gòu) 
        pool_alloc.destroy(obj);
    }
  
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
//! ccsdu2004

posted @ 2010-08-15 14:54 ccsdu2009 閱讀(1002) | 評(píng)論 (1)編輯 收藏
 
本篇主要說(shuō)明boost function的使用例子
設(shè)計(jì)頭文件:
#include <boost/function.hpp>

基本的function對(duì)象例子
boost::function<int(const char*,&int)> f;
代碼該函子對(duì)應(yīng)的函數(shù)其返回值為int類(lèi)型,她有個(gè)2個(gè)參數(shù)分別為const char*和&int類(lèi)型
一個(gè)簡(jiǎn)單的例子如下所示:
#include <iostream>
#include 
<boost/function.hpp>

inline 
int Sum(const int a,const int b)
{
    
return a + b;    
}

int main()
{   
    boost::function
<int(const int,const int)> sum_ptr;
    sum_ptr 
= &Sum;
    std::cout
<<"1+2=:?"<<sum_ptr(1,2);
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
如果對(duì)應(yīng)的函數(shù)為類(lèi)的成員函數(shù)則其使用例子可參考下面的說(shuō)明:
#include <iostream>
#include 
<boost/function.hpp>
#include 
<functional>

struct Adder 
{
    Adder(
int val):value(val){}
    
int Add(int x){return x*value;}
    
int value;
};

int main()
{   
    
//! 對(duì)應(yīng)函數(shù)返回值int參數(shù)為int
    boost::function<int(int)>f;
    Adder add(
7);
    
//! 綁定成員函數(shù)到boost::function<>
    f = std::bind1st(std::mem_fun(&Adder::Add),&add);
    std::cout
<<f(5)<<std::endl; 

    
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
對(duì)于仿函子則可以這樣做:
#include <iostream>
#include 
<boost/function.hpp>
#include 
<functional>

struct Div 
{
    
float operator()(int x, int y)const 
    {    
       
return((float)x)/y; 
    }
};

int main()
{   
    
//! 2
    boost::function<float(int,int)> div;
    div 
= Div();
    std::cout
<<div(1,2)<<std::endl;
    
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
//! ccsdu2004

posted @ 2010-08-14 18:42 ccsdu2009 閱讀(449) | 評(píng)論 (0)編輯 收藏
 
使用c++如何獲取cpu溫度

當(dāng)前在偵測(cè)cpu溫度方面做得最好的是core temp,
其他的相關(guān)軟件有cpu Informer,cpu-z,優(yōu)化大師,魯大師等等
可能獲取cpu溫度的途徑(win2下)
有winio,ring0,smbus,匯編,wmi,apic,bios等等

但是效果都很差
有人有什么好的辦法可以獲得
歡迎討論

posted @ 2010-08-13 09:10 ccsdu2009 閱讀(7337) | 評(píng)論 (8)編輯 收藏
 
這是使用Boost assigne小庫(kù)的例子
包括map,vector,array的賦值操作
#include <cstdlib>
#include 
<iostream>
#include 
<boost/assign.hpp>
#include 
<boost/array.hpp>
#include 
<algorithm>
#include 
<iterator> 

using namespace std;
using namespace boost;
using namespace boost::assign;

int main(int argc, char *argv[])
{
    
//! vector賦值
    vector<int> v;
    v 
+= 1,2,3,4,5,6,7,8,9
    copy(v.begin(),v.end(),ostream_iterator
<int>(cout,"\n"));
    
    
//! map
    map<string,int> m;
    insert(m)(
"foo",1)("bar",2)("ss",3);
    std::cout
<<m.size()<<std::endl;
    
    
//! boost array.
    typedef array<float,6> Array;
#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))   
    Array a 
= list_of(1.1)(2.2)(3.3)(4.4)(5.5)(6.6).to_array(a);
#else
    Array a 
= list_of(1.1)(2.2)(3.3)(4.4)(5.5)(6.6);
#endif
    copy(a.begin(),a.end(),ostream_iterator
<float>(cout,"\n"));
    
    typedef boost::tuple
<int,std::string,int> tuple;
    std::vector
<tuple> vt = tuple_list_of(1,"foo",2)(3,"bar",4);
    std::map
<std::string,int> mp = pair_list_of("foo",3)("bar",5);
    
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
//! ccsdu2004


posted @ 2010-08-12 09:55 ccsdu2009 閱讀(623) | 評(píng)論 (0)編輯 收藏
 
這是簡(jiǎn)單的使用boost文件系統(tǒng)的例子
在devc++下編譯需要2個(gè)庫(kù)一個(gè)libboostsystem一個(gè)libboostfilesystem
基本的研發(fā)如下:
#include <cstdlib>
#include 
<iostream>
#include 
<boost/filesystem.hpp>

using namespace std;
namespace fs = boost::filesystem;

int main(int argc, char *argv[])
{
    std::cout
<<"sizeof(intmax_t)is:"<<sizeof(boost::intmax_t)<<'\n';
    fs::path path(
"main.cpp",fs::native);
    
if(!fs::exists(path))
    {  
        
return -1;                     
    }
    
if(!fs::is_regular(path))
        
return -1;
    std::cout
<<"size is:"<<fs::file_size(path)<<"字節(jié)"<<std::endl;    
    
    fs::path full_path(fs::initial_path
<fs::path>());
    full_path 
= fs::system_complete(fs::path("main.cpp"));  
    
//! 獲取給定文件全路徑  
    cout<<"full path name is:"<<full_path.file_string()<<std::endl;
    
//! 檢測(cè)是不是路徑
    cout<<"is path:"<<fs::is_directory(full_path)<<std::endl;
  
    unsigned 
long file_count = 0;
    unsigned 
long dir_count = 0;
    unsigned 
long other_count = 0;
    unsigned 
long err_count = 0;    
    full_path 
= fs::system_complete(fs::path("C:\\WINDOWS"));
    
    
//! 目錄迭代 
    fs::directory_iterator end_iter;
    
for(fs::directory_iterator dir_itr(full_path);dir_itr != end_iter;++dir_itr)
    {
       
try
       {
          
if(fs::is_directory(dir_itr->status()))
          {
              
++dir_count;
              std::cout
<<dir_itr->path().filename()<<"[directory]\n";
          }
          
else if(fs::is_regular_file(dir_itr->status()))
          {
              
++file_count;
              std::cout
<<dir_itr->path().filename()<<"\n";
              
//! 全路徑名字 
              std::cout<<dir_itr->path().native_file_string()<<std::endl;
          }
          
else
          {
              
++other_count;
              std::cout 
<< dir_itr->path().filename() <<"[other]\n";
          }
       }
       
catch(const std::exception & ex)
       {
          
++err_count;
          std::cout
<<dir_itr->path().filename()<<" "<<ex.what()<<std::endl;
       }
    }
    std::cout
<<"\n"<<file_count<<"files\n"<<dir_count<<" directories\n"<<other_count<<" others\n"<<err_count<<" errors\n"
    
    
//! 生成文件目錄
    fs::create_directories(fs::path("filesystem"));
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
//! ccsdu2004 
boost文件系統(tǒng)還不錯(cuò)
要是再加入對(duì)壓縮包或者資源包的支持就更好了!

posted @ 2010-08-11 16:42 ccsdu2009 閱讀(773) | 評(píng)論 (0)編輯 收藏
僅列出標(biāo)題
共38頁(yè): First 23 24 25 26 27 28 29 30 31 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 国产欧美一区二区在线观看| 国产午夜亚洲精品羞羞网站| 国内久久婷婷综合| 亚洲国产欧美久久| 一本色道综合亚洲| 欧美在线三级| 欧美成人综合在线| 亚洲精品在线一区二区| 国产精品免费一区二区三区在线观看| 99精品欧美一区二区蜜桃免费| 一区二区欧美视频| 亚洲欧美韩国| 久热精品视频| 欧美视频导航| 精品成人一区| 亚洲最新色图| 久久国产欧美日韩精品| 欧美高清不卡| 亚洲综合日韩中文字幕v在线| 久久国产免费看| 亚洲一区高清| 欧美黄网免费在线观看| 亚洲图片在线观看| 免费欧美日韩| 国产一区二区三区的电影| 亚洲精选一区| 久久亚洲一区二区| 一区二区三区**美女毛片| 亚洲精品一区二区网址| 国产伦精品一区二区三区| 亚洲成人影音| 欧美一级网站| 日韩亚洲欧美成人一区| 久久手机精品视频| 国产精品日韩一区二区| 亚洲人体1000| 久久野战av| 亚洲中字黄色| 欧美激情精品久久久久久蜜臀| 国产欧美视频一区二区| 一区二区免费在线播放| 欧美电影免费观看高清完整版| 国产欧美日韩高清| 一区二区欧美国产| 欧美国产三级| 久久香蕉国产线看观看网| 国产精品久久久久av| 韩日精品视频| 久久精品女人天堂| 亚洲尤物在线视频观看| 欧美日韩免费在线视频| 亚洲毛片网站| 亚洲电影中文字幕| 亚洲专区一二三| 国产精品日本欧美一区二区三区| 亚洲视频福利| 亚洲精品久久嫩草网站秘色 | 国产精品jizz在线观看美国| 亚洲日本乱码在线观看| 欧美激情免费观看| 免费欧美电影| 亚洲精品久久在线| 亚洲国产影院| 欧美日韩免费区域视频在线观看| 亚洲精选一区二区| 亚洲精选一区二区| 欧美视频免费在线观看| 亚洲欧洲av一区二区三区久久| 亚洲视频网站在线观看| 国产精品一区二区三区乱码| 欧美一级在线视频| 香蕉久久夜色| 激情久久久久久久| 欧美a一区二区| 美女啪啪无遮挡免费久久网站| 在线观看亚洲精品视频| 欧美好骚综合网| 欧美精品99| 西西裸体人体做爰大胆久久久| 亚洲天堂男人| 国产综合色在线| 欧美黄色视屏| 欧美性做爰毛片| 久久精品国产久精国产一老狼| 欧美在线影院在线视频| 在线精品视频在线观看高清| 久久在线免费| 亚洲成人资源网| 亚洲片国产一区一级在线观看| 欧美日韩一区免费| 久久激情五月丁香伊人| 久久嫩草精品久久久精品一| 日韩亚洲精品视频| 午夜精品久久久久影视| 亚洲国产高清在线| 亚洲一区二区av电影| 亚洲片在线观看| 午夜在线视频观看日韩17c| 亚洲电影免费观看高清| 一区二区高清在线| 在线播放亚洲一区| 亚洲特色特黄| 一二三区精品福利视频| 久久久久久亚洲精品杨幂换脸 | 欧美日韩1080p| 在线电影一区| 国产精品二区在线| 久久夜精品va视频免费观看| 一区二区高清在线| 欧美成人免费在线观看| 久久香蕉精品| 日韩午夜三级在线| 国产在线拍偷自揄拍精品| 欧美视频精品一区| 欧美日韩亚洲免费| 国产精品免费视频观看| 国产免费亚洲高清| 亚洲黄色一区| 一本久久综合| 欧美专区中文字幕| 久久精品免费播放| 欧美高清视频| 亚洲乱码视频| 欧美高清在线视频观看不卡| 欧美日韩一区三区| 国产欧美日韩免费| 国产精品亚洲一区| 欧美日韩国产综合一区二区| 国产精品国产三级国产aⅴ9色| 欧美午夜在线视频| 国产偷自视频区视频一区二区| 在线观看一区二区精品视频| 亚洲国产精品国自产拍av秋霞| 国产精品欧美久久久久无广告| 亚洲韩国青草视频| 亚洲免费观看高清完整版在线观看熊 | 国产精品久久久久久超碰| 一区二区视频免费在线观看| 亚洲调教视频在线观看| 亚洲国产一区二区三区a毛片| 性欧美xxxx视频在线观看| 欧美黄色大片网站| 亚洲日本aⅴ片在线观看香蕉| 美日韩精品免费| 猛干欧美女孩| 日韩视频不卡中文| 欧美电影免费观看高清| 亚洲男同1069视频| 欧美黄色视屏| 亚洲在线不卡| 国产精品综合久久久| 亚洲一区二区三区在线| 亚洲精品乱码久久久久久日本蜜臀 | 欧美日韩免费观看一区| 国产精品色在线| 国产一区二区看久久| 欧美有码在线观看视频| 亚洲欧美成人| 玉米视频成人免费看| 91久久精品美女| 国产精品免费看片| 亚洲国产精品成人综合| 欧美日韩一区在线视频| 久久成人亚洲| 欧美日韩国产成人精品| 久久高清国产| 国产精品欧美久久久久无广告| 久久久水蜜桃av免费网站| 欧美日韩国产黄| 欧美国产精品一区| 国外成人网址| 午夜精品婷婷| 亚洲欧美日韩综合国产aⅴ| 噜噜噜噜噜久久久久久91| 亚洲欧美日韩在线综合| 免费观看日韩| 欧美激情在线观看| 精品69视频一区二区三区| 亚洲欧美日韩人成在线播放| 亚洲国产免费看| 久久久久国产精品麻豆ai换脸| 亚洲欧美三级在线| 欧美日韩在线观看一区二区| 亚洲精选大片| 一区二区三区毛片| 欧美日韩国产成人在线观看| 亚洲三级电影全部在线观看高清| 国产在线国偷精品产拍免费yy| 亚洲欧美亚洲| 久久精品一本| 一区在线播放| 欧美国产亚洲视频| 一区二区三区色| 欧美不卡激情三级在线观看|