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

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>
            久久国产主播精品| 激情久久五月| 亚洲欧美精品伊人久久| 亚洲黄色尤物视频| 另类专区欧美制服同性| 久久久精品一区| 蜜桃av噜噜一区| 亚洲第一页自拍| 亚洲精品一区在线观看| 一区二区三区久久精品| 欧美一区二区播放| 久久久久久日产精品| 欧美激情视频在线播放| 欧美精品在线免费观看| 欧美精品一卡| 国产欧美激情| 亚洲人成网站精品片在线观看 | 午夜一区不卡| 美女黄网久久| 一区二区三区四区国产| 性色一区二区| 欧美国产日本在线| 国产日韩成人精品| 亚洲精品国久久99热| 欧美一区二区三区四区在线| 葵司免费一区二区三区四区五区| 亚洲人成人一区二区三区| 亚洲一区欧美二区| 免费成人黄色片| 国产精品久久久久久影视| 激情综合色丁香一区二区| 亚洲午夜三级在线| 欧美jizzhd精品欧美巨大免费| 亚洲视频在线观看三级| 欧美大色视频| 极品日韩av| 欧美一区二区视频在线观看2020| 免费影视亚洲| 欧美在线免费观看| 国产精品久久999| 最新69国产成人精品视频免费| 久久国产加勒比精品无码| 99re66热这里只有精品3直播| 久久精品亚洲一区二区| 国产精品激情| 亚洲欧美国产精品专区久久| 欧美激情久久久久| 狼人社综合社区| 尤物九九久久国产精品的分类| 性欧美1819性猛交| 亚洲午夜精品17c| 欧美视频日韩| 99热在这里有精品免费| 亚洲福利av| 国产精品久久77777| 亚洲精品中文字幕有码专区| 欧美一区精品| 亚洲午夜视频在线观看| 欧美日韩黄色一区二区| 99re66热这里只有精品4| 免费看av成人| 久久久亚洲精品一区二区三区 | 久热精品视频在线观看| 亚洲免费伊人电影在线观看av| 欧美欧美全黄| 亚洲午夜精品在线| 一区二区三区成人精品| 国产精品sss| 性一交一乱一区二区洋洋av| 亚洲一区二区三区午夜| 国产精品激情av在线播放| 午夜精品福利视频| 欧美一区二区三区另类| 国产偷国产偷亚洲高清97cao| 欧美一区二区三区免费观看视频| 亚洲欧美一区二区三区极速播放 | 久久不射网站| 精品91在线| 亚洲第一福利在线观看| 欧美国产亚洲另类动漫| 在线亚洲观看| 好看的亚洲午夜视频在线| 久久成人人人人精品欧| 欧美中文字幕在线观看| 亚洲大胆人体在线| 亚洲国产老妈| 欧美吻胸吃奶大尺度电影| 亚洲欧美精品在线观看| 欧美一区二区在线播放| 136国产福利精品导航网址应用| 亚洲欧洲一区二区三区在线观看| 欧美日韩另类字幕中文| 亚洲欧美色婷婷| 免费看的黄色欧美网站| 亚洲青色在线| 亚洲精品国产精品国自产观看浪潮 | 亚洲欧洲一区二区天堂久久 | 久久国产精品黑丝| 伊人久久亚洲美女图片| 久久国产精品一区二区三区四区 | 欧美激情bt| 欧美极品色图| 欧美在线视频a| 欧美成人精品1314www| 亚洲美女少妇无套啪啪呻吟| 亚洲欧美资源在线| 亚洲毛片在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 欧美日韩不卡合集视频| 久久九九国产| 欧美日韩国产电影| 久久久欧美一区二区| 亚洲国产激情| 亚洲女女女同性video| 亚洲国产专区| 久久精品视频播放| 亚洲欧美日本国产专区一区| 久久久激情视频| 亚洲欧美日韩在线不卡| 久久亚洲影音av资源网| 欧美一区二区视频免费观看| 欧美成人按摩| 久久久蜜桃精品| 国产日产亚洲精品| 中文国产成人精品久久一| 亚洲精品一二| 美女任你摸久久| 久久久久久久高潮| 国产精品黄视频| 日韩午夜激情| 亚洲午夜激情免费视频| 欧美日韩成人| 91久久精品www人人做人人爽| 国产一区二区三区四区三区四 | 另类欧美日韩国产在线| 国产精品国产三级国产aⅴ浪潮 | 99re热这里只有精品视频| 久久亚洲欧洲| 麻豆精品网站| 尤物精品国产第一福利三区 | 日韩亚洲视频| 一区二区日本视频| 欧美激情精品久久久久久| 久久噜噜噜精品国产亚洲综合| 国产裸体写真av一区二区| 亚洲在线观看免费| 久久精品国产成人| 国产日韩在线亚洲字幕中文| 欧美在线你懂的| 噜噜噜噜噜久久久久久91| 亚洲成人直播| 欧美激情免费观看| 亚洲天堂久久| 久久久久久久999| 韩国亚洲精品| 久久久精品国产免费观看同学| 麻豆精品国产91久久久久久| 美乳少妇欧美精品| 欧美日韩在线高清| 日韩一区二区精品在线观看| 亚洲欧美日本伦理| 黄色精品一区二区| 老牛国产精品一区的观看方式| 亚洲黑丝在线| 欧美主播一区二区三区美女 久久精品人| 国产精品日韩欧美| 欧美亚洲一级| 欧美韩国日本综合| 亚洲欧美中文在线视频| 精品动漫3d一区二区三区| 欧美日韩国产在线播放| 午夜精品久久久久| 亚洲大片在线| 中文高清一区| 欧美日韩在线一二三| 性欧美精品高清| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品综合| 久久夜精品va视频免费观看| 日韩午夜免费视频| 久久久夜夜夜| 一区二区三区精品国产| 国产欧美一区二区三区视频 | 亚洲欧美一区二区原创| 欧美激情第1页| 欧美一级专区免费大片| 亚洲人成毛片在线播放女女| 国产农村妇女精品| 欧美日韩高清免费| 久久视频在线免费观看| 一本一本大道香蕉久在线精品| 久久香蕉国产线看观看网| 一区二区三区四区五区在线 | 亚洲欧美视频在线观看视频| 亚洲国产精品一区二区第一页 | 久色成人在线| 欧美在线一二三| 亚洲午夜电影网| 洋洋av久久久久久久一区| 禁久久精品乱码|