亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.cpp

?? about the basic GA in the VC++ using GPU to
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
#include <d3dx9.h>
#include <d3d9types.h>
#include <d3dx9shader.h>
#include <d3d9.h>
#include <d3dx9tex.h>
#include "resource.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <shlwapi.h>

#define										DIM					8
#define										FUCTION_1			1
#define										FUCTION_2			2


int											FUCTION				=   1; 


LPDIRECT3D9                                 g_pD3D = NULL;
LPDIRECT3DDEVICE9                           g_pD3DDevice = NULL;

LPDIRECT3DSURFACE9                          g_pBackBuffer = NULL;
LPD3DXEFFECT                                g_pEffect= NULL;;
HINSTANCE                                   g_hInstance;
bool										g_bRender = false;
LPDIRECT3DVERTEXBUFFER9                     g_pBuffer = NULL;

LPDIRECT3DVERTEXBUFFER9                     g_pBestBuffer = NULL;
LPDIRECT3DVERTEXBUFFER9                     g_pCrossCtrBuffer = NULL;

LPDIRECT3DTEXTURE9		                    g_pSubTexture[20];
LPDIRECT3DSURFACE9                          g_pSubSurface[20];
LPDIRECT3DVERTEXBUFFER9                     g_pSubBuffer[20];

LPDIRECT3DTEXTURE9		                    g_pGeneTexture1[DIM/4];
LPDIRECT3DSURFACE9                          g_pGeneSurface1[DIM/4];
LPDIRECT3DTEXTURE9		                    g_pGeneTexture2[DIM/4];
LPDIRECT3DSURFACE9                          g_pGeneSurface2[DIM/4];
LPDIRECT3DTEXTURE9		                    g_pResultGeneTexture[DIM/4];


LPDIRECT3DTEXTURE9		                    g_pBestGeneTexture1[DIM/4];
LPDIRECT3DSURFACE9                          g_pBestGeneSurface1[DIM/4];

LPDIRECT3DTEXTURE9		                    g_pBestGeneTexture2[DIM/4];
LPDIRECT3DSURFACE9                          g_pBestGeneSurface2[DIM/4];

LPDIRECT3DTEXTURE9		                    g_pBestGene[DIM/4];


LPDIRECT3DTEXTURE9		                    g_pBestFitTexture1;
LPDIRECT3DSURFACE9                          g_pBestFitSurface1;
LPDIRECT3DTEXTURE9		                    g_pBestFitTexture2;
LPDIRECT3DSURFACE9                          g_pBestFitSurface2;
LPDIRECT3DTEXTURE9		                    g_pResultBestFitTexture;

LPDIRECT3DTEXTURE9		                    g_pRandTexture;
LPDIRECT3DTEXTURE9		                    g_pPosTexture;
LPDIRECT3DTEXTURE9		                    g_pCrsCtrTexture;
LPDIRECT3DSURFACE9                          g_pCrsCtrSurface;

LPDIRECT3DTEXTURE9		                    g_pSelCtrTexture;
LPDIRECT3DSURFACE9                          g_pSelCtrSurface;

LPDIRECT3DTEXTURE9		                    g_pFitTexture;
LPDIRECT3DSURFACE9                          g_pFitSurface;

LPDIRECT3DTEXTURE9		                    g_pResultTexture[DIM/4];
LPDIRECT3DSURFACE9                          g_pResultSurface[DIM/4];




int											g_nHeight = 1 ;
int											g_nWidth = 1;
int											g_nHeightR = 512;
int											g_nWidthR = 512;

int											g_nHeightPos = 256;
int											g_nWidthPos = 256;

int											EdgeRecord[20];
int											Num = 0 ;

int											g_nPopSize = 1000;
int											g_nLChrom  = 24;
int											g_nGeneration = 1000;

float										g_pCross = 0.4f;
float										g_pMutation = 0.05f;
bool										g_bStopRun = false;
HWND										g_hWnd;
DWORD t1,t2;
LRESULT CALLBACK SetParamProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);

struct CUSTOMVERTEX
{
	FLOAT x, y, z,rhw;	
	FLOAT tu, tv; 
};

#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_TEX1)


#define SafeRelease(pObject) if(pObject != NULL) {pObject->Release(); pObject=NULL;}

HRESULT InitialiseD3D(HWND hWnd)
{
	g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
	if(g_pD3D == NULL)
	{
		return E_FAIL;
	}
	D3DDISPLAYMODE d3ddm;
	if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
	{
		return E_FAIL;
	}
	D3DPRESENT_PARAMETERS d3dpp; 
	ZeroMemory(&d3dpp, sizeof(d3dpp));
	d3dpp.Windowed = TRUE;
	d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
	d3dpp.BackBufferFormat = d3ddm.Format;

	
	if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, hWnd, 
		D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pD3DDevice)))
	{
		return E_FAIL;
	}	
	g_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);	
	g_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
	g_pD3DDevice->SetRenderState(D3DRS_ZENABLE,FALSE);

	if( FAILED(D3DXCreateEffectFromFile(g_pD3DDevice, "ga.fx", NULL, NULL, 
		D3DXSHADER_DEBUG, NULL, &g_pEffect, NULL )))
		return E_FAIL;

	if( FAILED(g_pD3DDevice->GetRenderTarget(0,&g_pBackBuffer)))
		return E_FAIL;

	return S_OK;
}

HRESULT InitVertexBuffer(int w, int h,LPDIRECT3DVERTEXBUFFER9 &pBuffer)
{
	VOID* pTgtSrcVertices;

	SafeRelease(pBuffer);
	CUSTOMVERTEX cvTgtSrcVertices[] =
	{
		{(float)0,  (float)h, 0.5f , 1.0,  0.0 , 1.0},
		{(float)0,   0.0f   , 0.5f , 1.0,  0.0 , 0.0},       
		{(float)w,  (float)h, 0.5f , 1.0,  1.0 , 1.0},	
		{(float)w,   0.0f   , 0.5f , 1.0,  1.0 , 0.0}

	};
	
	if(FAILED(g_pD3DDevice->CreateVertexBuffer(4 * sizeof(CUSTOMVERTEX),
		0, D3DFVF_CUSTOMVERTEX,
		D3DPOOL_DEFAULT, &pBuffer,0)))
	{
		return E_FAIL;
	}
	if(FAILED(pBuffer->Lock(0, sizeof(cvTgtSrcVertices), &pTgtSrcVertices, 0)))
	{
		return E_FAIL;
	}

	memcpy(pTgtSrcVertices, cvTgtSrcVertices, sizeof(cvTgtSrcVertices));

	pBuffer->Unlock();

	return S_OK;

}

void SaveTexture(int w,int h,LPDIRECT3DTEXTURE9 &pColorMap,char *filePath)
{

	LPD3DXBUFFER    pBuffer = NULL;
	BYTE            *pbyBits = NULL;

	int texElemCount = w*h*4;
	float *texData = new float[texElemCount];
	D3DLOCKED_RECT rfTextureLock;

	LPDIRECT3DSURFACE9 pSurf, pVectorTextureSurface;
	PDIRECT3DTEXTURE9  pTex;

	g_pD3DDevice->CreateTexture(h,w,0, NULL, D3DFMT_A32B32G32R32F, D3DPOOL_SYSTEMMEM, &pTex, NULL);
	pTex->GetSurfaceLevel(0,&pSurf);
	pColorMap->GetSurfaceLevel(0,&pVectorTextureSurface);	
	g_pD3DDevice->GetRenderTargetData(pVectorTextureSurface, pSurf);	
	pTex->LockRect(0, &rfTextureLock, NULL, D3DLOCK_READONLY);	// lock whole region in the vector texture
	float* pfTexture = (float*)rfTextureLock.pBits;
	memcpy(texData,pfTexture,texElemCount*sizeof(float));
	pTex->UnlockRect(0);

	FILE* flog = fopen(filePath,"a+");
	
	for(int i = h - 1 ; i >= 0; i--)
		for(int j = 0 ; j < w ; j++)
		{
			float r = texData[ 4 * i * w + j * 4]; 
			float g = texData[ 4 * i * w + j * 4 + 1]; 
			float b = texData[ 4 * i * w + j * 4 + 2]; 
			float a = texData[ 4 * i * w + j * 4 + 3]; 
			fprintf(flog,"index = %d, r = %.1f, g = %.1f, b = %.1f, a = %.1f\n",  (h - i - 1) * w +j,r,g,b,a) ; 

		}

	fprintf(flog,"\n\n") ;
	fclose(flog);
	
	delete texData;

	SafeRelease(pSurf);
	SafeRelease(pTex);
	SafeRelease(pVectorTextureSurface);
	SafeRelease( pBuffer );

}

VOID WINAPI ColorFill (D3DXVECTOR4* pOut, const D3DXVECTOR2* pTexCoord, 
					   const D3DXVECTOR2* pTexelSize, LPVOID pData)
{
	int x = (int)(pTexCoord->x * g_nWidth);
	int y = (int)(pTexCoord->y * g_nHeight);
	float *pTextureData = (float*)pData;
	*pOut = D3DXVECTOR4(pTextureData[(g_nHeight - y -1) * g_nWidth * 4 + x *4],pTextureData[(g_nHeight - y - 1) * g_nWidth * 4 + x *4 + 1],
		pTextureData[(g_nHeight - y-1) * g_nWidth * 4 + x *4 + 2], pTextureData[(g_nHeight - y-1) * g_nWidth * 4 + x *4 + 3]);
}

VOID WINAPI ColorFillRand(D3DXVECTOR4* pOut, const D3DXVECTOR2* pTexCoord, 
					   const D3DXVECTOR2* pTexelSize, LPVOID pData)
{
	int w = g_nWidthR,h = g_nHeightR;
	int x = (int)(pTexCoord->x * w);
	int y = (int)(pTexCoord->y * h);
	float *pTextureData = (float*)pData;
	*pOut = D3DXVECTOR4(pTextureData[(h - y -1) * w * 4 + x *4],pTextureData[(h - y - 1) * w * 4 + x *4 + 1],
		pTextureData[(h - y-1) * w * 4 + x *4 + 2], pTextureData[(h - y-1) * w * 4 + x *4 + 3]);
}

VOID WINAPI ColorFillPos(D3DXVECTOR4* pOut, const D3DXVECTOR2* pTexCoord, 
					   const D3DXVECTOR2* pTexelSize, LPVOID pData)
{
	int w = g_nWidthPos,h = g_nHeightPos;
	int x = (int)(pTexCoord->x * w);
	int y = (int)(pTexCoord->y * h);
	float *pTextureData = (float*)pData;
	*pOut = D3DXVECTOR4(pTextureData[(h - y -1) * w * 4 + x *4],pTextureData[(h - y - 1) * w * 4 + x *4 + 1],
		pTextureData[(h - y-1) * w * 4 + x *4 + 2], pTextureData[(h - y-1) * w * 4 + x *4 + 3]);
}


bool GetINTData(float* texData,DWORD DataSpace,int nHeight)
{	
	for(int i = 0 ; i < nHeight * nHeight ; i++)
	{		
		texData[4 * i] = (DWORD)(rand()/(double)RAND_MAX* DataSpace);
		texData[4 * i + 1] = (DWORD)(rand()/(double)RAND_MAX* DataSpace) ;
		texData[4 * i + 2] = (DWORD)(rand()/(double)RAND_MAX* DataSpace) ;
		texData[4 * i + 3] = (DWORD)(rand()/(double)RAND_MAX* DataSpace);	

	}
	return true;
}
bool GetFLOATData(float* texData)
{	
	for(int i = 0 ; i < g_nHeightR * g_nWidthR ; i++)
	{		
		texData[4 * i] = (float)(rand()/(double)RAND_MAX);
		texData[4 * i + 1] = (float)(rand()/(double)RAND_MAX) ;
		texData[4 * i + 2] = (float)(rand()/(double)RAND_MAX) ;
		texData[4 * i + 3] = (float)(rand()/(double)RAND_MAX);	

	}
	return true;
}
bool InitGA()
{
	static int kk=(unsigned)time(NULL);
	srand((unsigned)time(NULL)+kk++);

	int k = 0 ; 
	while(k * k < g_nPopSize)
    {
        k = k + 2;
    }
    g_nHeight = g_nWidth = k;
	
	float *texData = new float[g_nWidth*g_nHeight*4];	
	for(int i = 0 ; i < DIM / 4 ; i++)
	{
		GetINTData(texData,(DWORD)pow(2.0,g_nLChrom),g_nHeight);
		g_pD3DDevice->CreateTexture(g_nWidth,g_nHeight,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pGeneTexture1[i], NULL);
		D3DXFillTexture(g_pGeneTexture1[i],ColorFill,(float*)texData);
		g_pGeneTexture1[i]->GetSurfaceLevel(0,&g_pGeneSurface1[i]);

		g_pResultGeneTexture[i] = g_pGeneTexture1[i];
		
		g_pD3DDevice->CreateTexture(g_nWidth,g_nHeight,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pGeneTexture2[i], NULL);
		g_pGeneTexture2[i]->GetSurfaceLevel(0,&g_pGeneSurface2[i]);

		
		g_pD3DDevice->CreateTexture(1,1,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pBestGeneTexture1[i], NULL);		
		g_pBestGeneTexture1[i]->GetSurfaceLevel(0,&g_pBestGeneSurface1[i]);

		g_pBestGene[i] = g_pBestGeneTexture1[i];
		g_pD3DDevice->CreateTexture(1,1,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pBestGeneTexture2[i], NULL);		
		g_pBestGeneTexture2[i]->GetSurfaceLevel(0,&g_pBestGeneSurface2[i]);
		
		g_pD3DDevice->CreateTexture(1,1,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pResultTexture[i], NULL);		
		g_pResultTexture[i]->GetSurfaceLevel(0,&g_pResultSurface[i]);

       
	}
	delete[] texData;
	
	g_pD3DDevice->CreateTexture(1,1,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pBestFitTexture1, NULL);
	g_pBestFitTexture1->GetSurfaceLevel(0,&g_pBestFitSurface1);

	g_pResultBestFitTexture = g_pBestFitTexture1;

	g_pD3DDevice->CreateTexture(1,1,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pBestFitTexture2, NULL);
	g_pBestFitTexture2->GetSurfaceLevel(0,&g_pBestFitSurface2);

	g_pD3DDevice->CreateTexture(g_nWidth,g_nHeight,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pFitTexture, NULL);
	g_pFitTexture->GetSurfaceLevel(0,&g_pFitSurface);
	
	float * floatData = new float[g_nHeightR*g_nWidthR*4];
	GetFLOATData(floatData);
	g_pD3DDevice->CreateTexture(g_nWidthR,g_nHeightR,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pRandTexture, NULL);
	D3DXFillTexture(g_pRandTexture,ColorFillRand,(float*)floatData);	
	delete[] floatData;


	float * intData = new float[g_nHeightPos*g_nWidthPos*4];
	GetINTData(intData,24,g_nHeightPos);
	g_pD3DDevice->CreateTexture(g_nWidthPos,g_nHeightPos,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pPosTexture, NULL);
	D3DXFillTexture(g_pPosTexture,ColorFillPos,(float*)intData);	
	delete[]intData;	

	g_pD3DDevice->CreateTexture(g_nWidth,g_nHeight,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pSelCtrTexture, NULL);
	g_pSelCtrTexture->GetSurfaceLevel(0,&g_pSelCtrSurface);

	g_pD3DDevice->CreateTexture(g_nWidth / 2,g_nHeight,1, D3DUSAGE_RENDERTARGET, D3DFMT_A32B32G32R32F, D3DPOOL_DEFAULT, &g_pCrsCtrTexture, NULL);
	g_pCrsCtrTexture->GetSurfaceLevel(0,&g_pCrsCtrSurface);

	
	return true;
}

LPDIRECT3DTEXTURE9& SetTarget(int w,int h,LPDIRECT3DTEXTURE9 &pTexture,LPDIRECT3DSURFACE9 &pSurface)
{
	SafeRelease(pTexture);
	SafeRelease(pSurface);

	g_pD3DDevice->CreateTexture(w,h,1,D3DUSAGE_RENDERTARGET,D3DFMT_A32B32G32R32F,D3DPOOL_DEFAULT,&pTexture,NULL);

	pTexture->GetSurfaceLevel(0,&pSurface);

	return pTexture;
}

bool InitSub()
{	
	int k = g_nHeight; 
	
	while( k > 1)
	{
		if(k % 2 == 0)
			k = k/2;
		else
			k = k/2 + 1;

		InitVertexBuffer(k,k,g_pSubBuffer[Num]);
		SetTarget(k,k,g_pSubTexture[Num],g_pSubSurface[Num]);
		EdgeRecord[Num] = k;

		Num++;
	}
	return true;
}

bool InitBuffer()
{
	InitVertexBuffer(g_nWidth,g_nHeight,g_pBuffer);
	InitVertexBuffer(1,1,g_pBestBuffer);
	InitVertexBuffer(g_nWidth/2,g_nHeight,g_pCrossCtrBuffer);
	InitSub();
	return true;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品婷婷| 99在线视频精品| 亚洲欧美成人一区二区三区| 久久久久国产免费免费| 日韩欧美激情四射| 欧美一区二区三区成人| 欧美一区二区啪啪| 欧美大片一区二区三区| 久久综合九色综合久久久精品综合| 欧美一级专区免费大片| 日韩欧美激情一区| 国产三级欧美三级| 国产精品免费视频一区| 最新久久zyz资源站| 亚洲黄一区二区三区| 一区二区三区小说| 日本不卡一二三区黄网| 免费成人在线视频观看| 国产九色sp调教91| 91免费看视频| 3atv在线一区二区三区| 国产性色一区二区| 亚洲另类一区二区| 麻豆精品国产传媒mv男同 | 欧美视频日韩视频| 91精品黄色片免费大全| 久久精品亚洲乱码伦伦中文| 国产精品免费视频观看| 午夜精品久久久久久久久| 蜜桃久久久久久| 波波电影院一区二区三区| 欧美日韩在线综合| 国产日韩欧美精品综合| 亚洲伦理在线精品| 韩国女主播一区| 91高清在线观看| 久久亚区不卡日本| 一区二区三区在线视频免费| 久久不见久久见免费视频7 | 日韩欧美一级精品久久| 中文字幕av资源一区| 午夜不卡av免费| 成人免费黄色在线| 91麻豆精品国产91久久久久| 国产精品成人免费| 激情文学综合插| 欧美日本国产视频| 亚洲色图制服诱惑| 国产一区亚洲一区| 欧美精品1区2区3区| 一区在线观看免费| 国产精品自拍av| 91精品国产色综合久久| 一区二区免费在线播放| 国产不卡视频在线播放| 日韩视频在线观看一区二区| 亚洲精品大片www| 国产裸体歌舞团一区二区| 欧美日韩三级在线| 国产精品蜜臀av| 国产成人精品www牛牛影视| 欧美一区二区黄| 香蕉av福利精品导航| 在线亚洲精品福利网址导航| 国产精品美女久久久久久2018| 精品一区二区三区蜜桃| 91精品国产免费| 亚洲 欧美综合在线网络| 色综合天天综合给合国产| 国产精品久久免费看| 国产精品一品视频| 国产丝袜欧美中文另类| 国内国产精品久久| 久久青草国产手机看片福利盒子| 日韩av中文字幕一区二区三区| 在线观看日韩av先锋影音电影院| 亚洲精品五月天| 色一区在线观看| 亚洲男人都懂的| 欧美自拍丝袜亚洲| 婷婷开心激情综合| 欧美一卡2卡3卡4卡| 久久国产三级精品| 久久综合狠狠综合久久综合88| 久久成人久久爱| 久久精品一区蜜桃臀影院| 国产精品99久久久久久宅男| 亚洲国产精品精华液ab| 99久久久久久99| 一区二区视频在线看| 欧美日韩久久久| 精品一区二区三区影院在线午夜| 精品日韩一区二区三区| 从欧美一区二区三区| 亚洲欧美国产77777| 欧美一级xxx| 国产91精品精华液一区二区三区 | 亚洲国产美女搞黄色| 8v天堂国产在线一区二区| 麻豆一区二区在线| 国产欧美精品一区二区三区四区| jlzzjlzz亚洲日本少妇| 午夜私人影院久久久久| 精品国产亚洲在线| av电影一区二区| 午夜精品一区二区三区免费视频 | 欧美日韩国产影片| 国产在线精品一区二区夜色| 日韩毛片高清在线播放| 欧美一区二区精品在线| jizz一区二区| 狠狠网亚洲精品| 一区二区三区日本| 久久久美女毛片| 欧美美女直播网站| 成人黄色av电影| 日韩电影在线观看一区| 国产精品久久午夜夜伦鲁鲁| 欧美一区二区观看视频| 91美女精品福利| 精品写真视频在线观看 | 久久99热这里只有精品| 中文字幕亚洲在| 精品粉嫩超白一线天av| 欧美在线一二三四区| 国产传媒一区在线| 亚洲风情在线资源站| 国产精品免费视频观看| 欧美成人女星排行榜| 欧美无砖砖区免费| 91在线精品一区二区| 国产一区二区三区免费看 | 色丁香久综合在线久综合在线观看| 麻豆freexxxx性91精品| 亚洲国产精品欧美一二99| 国产精品久久久久久久久免费桃花 | 91麻豆文化传媒在线观看| 精品一区二区三区在线播放视频 | 国产精品乱人伦中文| 亚洲精品一线二线三线无人区| 欧美在线观看视频一区二区 | 欧美视频精品在线观看| 91视频www| 99国产麻豆精品| 99免费精品在线观看| 国产精品一线二线三线| 精品一区二区三区免费视频| 日本一不卡视频| 日本视频中文字幕一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| 亚洲色大成网站www久久九九| 欧美国产日产图区| 国产精品免费av| 亚洲区小说区图片区qvod| 国产精品久久久久久久第一福利| 国产精品视频九色porn| 国产精品久久久一本精品| 国产精品国产三级国产普通话蜜臀 | 中文字幕在线观看不卡视频| 欧美国产综合一区二区| 国产精品成人免费精品自在线观看| 国产欧美一区二区精品仙草咪 | 亚洲成人精品影院| 午夜精品视频在线观看| 日韩电影在线一区二区三区| 免费人成网站在线观看欧美高清| 免费看日韩精品| 国产乱码精品一区二区三区五月婷| 韩国精品免费视频| 成人一区二区在线观看| 色综合一区二区三区| 欧美视频在线观看一区二区| 欧美日韩国产区一| 久久久久久久免费视频了| 国产精品久久毛片| 午夜久久久久久久久久一区二区| 日本视频免费一区| 成人黄色国产精品网站大全在线免费观看 | 色老头久久综合| 欧美日韩国产综合久久| 精品国产亚洲在线| 亚洲美女屁股眼交3| 美女一区二区久久| 成人妖精视频yjsp地址| 91福利区一区二区三区| 欧美电影免费观看高清完整版在| 欧美国产欧美综合| 日本怡春院一区二区| 成人综合婷婷国产精品久久蜜臀| 欧美色视频在线| 久久久不卡网国产精品二区| 亚洲综合视频网| 国产a精品视频| 欧美日韩一级视频| 久久久精品国产免大香伊| 亚洲精品午夜久久久| 国产一区二区三区黄视频 | 成人黄色电影在线| 欧美一二三四在线| 一区二区三区**美女毛片|