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

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

?? billiardsplayview.cpp

?? 桌面臺球3D 開發環境VC 庫DIRECTX8.1以上
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
// BilliardsPlayView.cpp : implementation file
//

#include "stdafx.h"
#include "Billiards.h"

#include <math.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glaux.h>
#include <gl/glut.h>

#include "BilliardsPlayView.h"
#include "InitOpenGL.h"
#include "BilliardsDoc.h"
#include "MainFrm.h"
#include "BilliardsFormView.h"

#include <Mmsystem.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

AUX_RGBImageRec *image1,*image2,*image3;
unsigned char *pdata1,*pdata2,*pdata3;
#define ImageWidth 256
#define ImageHeight 256
static GLuint texName[3];
/////////////////////////////////////////////////////////////////////////////
// CBilliardsPlayView

IMPLEMENT_DYNCREATE(CBilliardsPlayView, CView)

void CBilliardsPlayView::texinit(void)
{
//	glClearColor(0.8,0.8,0.8,1.0);
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_AUTO_NORMAL);
	glDepthFunc(GL_LESS);
//	glFrontFace(GL_CW);
	glShadeModel(GL_FLAT);

	image1=auxDIBImageLoadA("MOHOGANY.bmp");
	pdata1=(BYTE *)malloc(256*256*3*sizeof(BYTE));
	if (!pdata1)
		exit(0);
	glPixelStorei(GL_UNPACK_ALIGNMENT,1);
	gluScaleImage(GL_RGB,image1->sizeX,image1->sizeY,GL_UNSIGNED_BYTE,image1->data,
		           ImageWidth,ImageHeight,GL_UNSIGNED_BYTE,pdata1);
	
	image2=auxDIBImageLoadA("BILLIARDSTABLE.bmp");
	pdata2=(BYTE *)malloc(256*256*3*sizeof(BYTE));
	if (!pdata2)
		exit(0);
	glPixelStorei(GL_UNPACK_ALIGNMENT,1);
	gluScaleImage(GL_RGB,image2->sizeX,image2->sizeY,GL_UNSIGNED_BYTE,image2->data,
		           ImageWidth,ImageHeight,GL_UNSIGNED_BYTE,pdata2);

	image3=auxDIBImageLoadA("tableface.bmp");
	pdata3=(BYTE *)malloc(256*256*3*sizeof(BYTE));
	if (!pdata3)
		exit(0);
	glPixelStorei(GL_UNPACK_ALIGNMENT,1);
	gluScaleImage(GL_RGB,image3->sizeX,image3->sizeY,GL_UNSIGNED_BYTE,image3->data,
		           ImageWidth,ImageHeight,GL_UNSIGNED_BYTE,pdata3);

	
	
	glGenTextures(3,texName);

  
	glBindTexture(GL_TEXTURE_2D,texName[0]);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
	glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,ImageWidth,ImageHeight,0,GL_RGB,GL_UNSIGNED_BYTE,pdata1);

	glBindTexture(GL_TEXTURE_2D,texName[1]);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
	glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,ImageWidth,ImageHeight,0,GL_RGB,GL_UNSIGNED_BYTE,pdata2);

	glBindTexture(GL_TEXTURE_2D,texName[2]);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
	glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,ImageWidth,ImageHeight,0,GL_RGB,GL_UNSIGNED_BYTE,pdata3);


	glEnable(GL_TEXTURE_2D);

}

CBilliardsPlayView::CBilliardsPlayView()
{
    m_fViewHeight = 60.0;
	m_fViewNear = 200.0;
	m_fViewFar = 400.0;

	m_nMouseAct = MOUSE_SELECT;
	m_spinAngle = 0.0;
	m_spinAxes[0] = m_spinAxes[2] = 0.0; m_spinAxes[1] = 1.0;

	m_sEye.origin.x = m_sEye.origin.y = 0; m_sEye.origin.z = 300.0;
	m_sEye.center.x = m_sEye.center.y = 0.0; m_sEye.center.z = 0.0;
	m_sEye.up.x = m_sEye.up.z = 0.0; m_sEye.up.y = 1.0;
	m_sEye.axisX.y = m_sEye.axisX.z = 0.0; m_sEye.axisX.x = 1.0;
	m_sEye.axisY.x = m_sEye.axisY.z = 0.0; m_sEye.axisY.y = 1.0;
	m_sEye.axisZ.x = m_sEye.axisZ.y = 0.0; m_sEye.axisZ.z = -1.0;
	m_vProjectCenter[0] = 0.0f;
	m_vProjectCenter[1] = 0.0f;
	m_vProjectCenter[2] = (m_fViewNear+m_fViewFar)/2;

	int i;
	float tmpf;

	for (i=0;i<NUM_BALL;i++)
		m_bVisible[i]=TRUE;
	for (i=0;i<NUM_BALL;i++)
		m_fVelocity[i][0]=m_fVelocity[i][1]=m_fVelocity[i][2]=0.0f;
	for (i=0;i<NUM_BALL;i++)
		m_fPosition[i][1]=0.0f;
	m_fPosition[0][0] = - 2.0*TABLE_LENGTH/3.0;
	m_fPosition[0][2] = 0.0f;
	m_fPosition[1][0] = TABLE_LENGTH/2.5;
	m_fPosition[1][2] = 0.0f;
	tmpf = 2.0*BALL_RADIUS*0.8661;
	m_fPosition[2][0] = m_fPosition[1][0]+tmpf;
	m_fPosition[2][2] = BALL_RADIUS;
	m_fPosition[3][0] = m_fPosition[2][0]+tmpf;
	m_fPosition[3][2] = 2.0*BALL_RADIUS;
	m_fPosition[4][0] = m_fPosition[3][0]+tmpf;
	m_fPosition[4][2] = 3.0*BALL_RADIUS;
	m_fPosition[5][0] = m_fPosition[4][0]+tmpf;
	m_fPosition[5][2] = 4.0*BALL_RADIUS;
	m_fPosition[6][0] = m_fPosition[4][0];
	m_fPosition[6][2] = BALL_RADIUS;
	m_fPosition[7][0] = m_fPosition[5][0];
	m_fPosition[7][2] = 2.0*BALL_RADIUS;
	m_fPosition[8][0] = m_fPosition[3][0];
	m_fPosition[8][2] = 0.0f;
	m_fPosition[15][0]= m_fPosition[5][0];
	m_fPosition[15][2]= 0.0f;
	m_fPosition[9][0] = m_fPosition[2][0];
	m_fPosition[9][2] = -m_fPosition[2][2];
	m_fPosition[10][0]= m_fPosition[3][0];
	m_fPosition[10][2]= -m_fPosition[3][2];
	m_fPosition[11][0]= m_fPosition[4][0];
	m_fPosition[11][2]= -m_fPosition[4][2];
	m_fPosition[12][0]= m_fPosition[5][0];
	m_fPosition[12][2]= -m_fPosition[5][2];
	m_fPosition[13][0]= m_fPosition[6][0];
	m_fPosition[13][2]= -m_fPosition[6][2];
	m_fPosition[14][0]= m_fPosition[7][0];
	m_fPosition[14][2]= -m_fPosition[7][2];

	m_fStrength=22.5f;
	m_fDirection[0]=1.0f;
	m_fDirection[1]=0.0f;
	m_fDirection[2]=0.0f;
	m_fVelocity[0][0]=5.0f;

	m_nSelectObject = -1;
	m_bAnimate = FALSE;
	m_bCanHit = TRUE;
}

CBilliardsPlayView::~CBilliardsPlayView()
{
}


BEGIN_MESSAGE_MAP(CBilliardsPlayView, CView)
	//{{AFX_MSG_MAP(CBilliardsPlayView)
	ON_WM_SIZE()
	ON_WM_ERASEBKGND()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_CREATE()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBilliardsPlayView drawing

void CBilliardsPlayView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
    
    DrawScene();

	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CBilliardsPlayView diagnostics

#ifdef _DEBUG
void CBilliardsPlayView::AssertValid() const
{
	CView::AssertValid();
}

void CBilliardsPlayView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CBilliardsPlayView message handlers

void CBilliardsPlayView::Init()
{
	CDC *pDC = GetDC();
	m_hDc = pDC->GetSafeHdc();
	SetThePixelFormat(pDC);
	m_hRc = wglCreateContext(m_hDc);
	wglMakeCurrent(m_hDc,m_hRc);
	ReleaseDC(pDC);

	GLfloat light0_posi[]={-40.0,0.0,100.0,1.0};
	GLfloat light1_posi[]={40.0,0.0,100.0,1.0};
	GLfloat light2_posi[]={0.0,100.0,0.0,1.0};
	GLfloat white_light[]={1.0,1.0,1.0,1.0};
	glClearColor(0.7,0.7,0.7,1.0);
	glShadeModel(GL_SMOOTH);
		
	glLightfv(GL_LIGHT0,GL_POSITION,light0_posi);
	glLightfv(GL_LIGHT0,GL_DIFFUSE,white_light);
	glLightfv(GL_LIGHT0,GL_SPECULAR,white_light);


	glLightfv(GL_LIGHT1,GL_POSITION,light1_posi);
	glLightfv(GL_LIGHT1,GL_DIFFUSE,white_light);
	glLightfv(GL_LIGHT1,GL_SPECULAR,white_light);

	glLightfv(GL_LIGHT2,GL_POSITION,light2_posi);
	glLightfv(GL_LIGHT2,GL_DIFFUSE,white_light);
	glLightfv(GL_LIGHT2,GL_SPECULAR,white_light);

	glEnable(GL_DEPTH_TEST);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_LIGHT1);
	glEnable(GL_LIGHT2);
	glEnable(GL_AUTO_NORMAL);
	glMatrixMode(GL_MODELVIEW);
	glRotatef(80.0,1.0,0.0,0.0);
 

	texinit();
}

void CBilliardsPlayView::DrawPlayground()
{

	float tmpf,tmpf1;

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();

//    glColor3f(1.0,1.0,1.0);
	float ambient0[4] = {0.259459f,0.251553f,0.0800367f,1.0f};
	float diffuse0[4] = {1.0f,0.969526f,0.308475f,1.0f};
	float specular0[4] = {0.728905f,0.691826f,0.153194f,1.0f};
    float shininess0  = 0.891892f;
	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient0);
	glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse0);
	glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular0);
	glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess0);
//	glPushMatrix();
//	glTranslatef( 0.0f, 0.0f, TABLE_WIDTH - 4.0*BAR_WIDTH);
//	auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glTranslatef( TABLE_LENGTH - 4.0*BAR_WIDTH, 0.0f, 0.0f);
//	auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glTranslatef( 0.0f, 0.0f, -2.0*(TABLE_WIDTH - 4.0*BAR_WIDTH));
//	auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glTranslatef( 4.0*BAR_WIDTH - TABLE_LENGTH, 0.0f, 0.0f);
//	auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glTranslatef( 4.0*BAR_WIDTH - TABLE_LENGTH, 0.0f, 0.0f);
//	auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glTranslatef( 0.0f, 0.0f, 2.0*(TABLE_WIDTH - 4.0*BAR_WIDTH));
 //  auxSolidCylinder(POLE_RADIUS,POLE_HEIGHT);
//	glPopMatrix();

//下桌面	
	float ambient1[4] = {0.0f,0.023506f,0.014165f,1.0f};
	float diffuse1[4] = {0.0f,0.019048f,0.020158f,1.0f};
	float specular1[4] = {0.0714408f,0.20962f,0.126984f,1.0f};
    float shininess1  = 0.0108108f;
	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient1);
	glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse1);
	glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular1);
	glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess1);
	glPushMatrix();

//	glColor3f(0.0,1.0,0.0);
	glBegin(GL_QUAD_STRIP);

	glVertex3f(-TABLE_LENGTH-12.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(-TABLE_LENGTH-12.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(-TABLE_LENGTH-2.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(-TABLE_LENGTH-2.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-2.0f);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+2.0f);

	glEnd();
	
	glBegin(GL_QUADS);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);
	glEnd();

	glBegin(GL_QUADS);
	glVertex3f(1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-2.0f);
	glVertex3f(1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+2.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+2.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-2.0f);
	glEnd();
	
	glBegin(GL_QUADS);
	glVertex3f(TABLE_LENGTH-1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);
	glVertex3f(TABLE_LENGTH-1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);
	glVertex3f(1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);
	glVertex3f(1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);
	glEnd();
	glBegin(GL_QUAD_STRIP);

	glVertex3f(TABLE_LENGTH+12.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(TABLE_LENGTH+12.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(TABLE_LENGTH+2.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(TABLE_LENGTH+2.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(TABLE_LENGTH-1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-2.0f);
	glVertex3f(TABLE_LENGTH-1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+2.0f);

	glEnd();

	float ambient2[4] = {0.7f,0.5f,0.5f,1.0f};
	float diffuse2[4] = {0.4f,0.3f,0.3f,1.0f};
	float specular2[4] = {0.0f,0.0f,0.0f,1.0f};
    float shininess2  = 0.0f;
	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient2);
	glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse2);
	glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular2);
	glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess2);
	glPushMatrix();
	//left
	glBegin(GL_QUADS);
	glVertex3f(-TABLE_LENGTH-12.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(-TABLE_LENGTH-12.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(-TABLE_LENGTH-12.0f,TABLE_HEIGHT+BALL_RADIUS+2.0f,TABLE_WIDTH-1.5*BALL_RADIUS);
	glVertex3f(-TABLE_LENGTH-12.0f,TABLE_HEIGHT+BALL_RADIUS+2.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glEnd();

//RIGHT
	glBegin(GL_QUADS);
	glVertex3f(TABLE_LENGTH+12.0f,0.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);
	glVertex3f(TABLE_LENGTH+12.0f,0.0f,TABLE_WIDTH-1.5*BALL_RADIUS);

	glVertex3f(TABLE_LENGTH+12.0f,TABLE_HEIGHT+BALL_RADIUS+2.0f,TABLE_WIDTH-1.5*BALL_RADIUS);
	glVertex3f(TABLE_LENGTH+12.0f,TABLE_HEIGHT+BALL_RADIUS+2.0f,-TABLE_WIDTH+1.5*BALL_RADIUS);

	glEnd();
//LEFT TOP
	glBegin(GL_QUADS);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,-TABLE_WIDTH-12.0f);

	glVertex3f(-1.5*BALL_RADIUS,TABLE_HEIGHT+BALL_RADIUS+2.0f,-TABLE_WIDTH-12.0f);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,TABLE_HEIGHT+BALL_RADIUS+2.0f,-TABLE_WIDTH-12.0f);
	glEnd();

//LEFT down
	glBegin(GL_QUADS);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);
	glVertex3f(-1.5*BALL_RADIUS,0.0f,TABLE_WIDTH+12.0f);

	glVertex3f(-1.5*BALL_RADIUS,TABLE_HEIGHT+BALL_RADIUS+2.0f,TABLE_WIDTH+12.0f);
	glVertex3f(-TABLE_LENGTH+1.5*BALL_RADIUS,TABLE_HEIGHT+BALL_RADIUS+2.0f,TABLE_WIDTH+12.0f);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费国产精品| 日韩综合小视频| av电影天堂一区二区在线| 极品少妇xxxx精品少妇| 懂色av中文字幕一区二区三区 | 色综合天天做天天爱| 中文字幕av一区二区三区| 99久久99久久精品免费看蜜桃| 亚洲女性喷水在线观看一区| 欧美日韩亚洲综合| 国产高清在线精品| 1区2区3区欧美| 欧美成va人片在线观看| a4yy欧美一区二区三区| 五月综合激情日本mⅴ| 国产欧美一区二区精品忘忧草 | 欧美国产精品一区二区三区| 欧美日韩一区二区电影| 国产成人精品一区二区三区四区| 艳妇臀荡乳欲伦亚洲一区| 精品国产91久久久久久久妲己| bt欧美亚洲午夜电影天堂| 久久国产日韩欧美精品| 亚洲成av人影院在线观看网| 久久网站热最新地址| 欧美一级夜夜爽| 精品视频一区二区不卡| 99re6这里只有精品视频在线观看| 麻豆国产精品777777在线| 亚洲一区二区精品久久av| 亚洲人123区| ...av二区三区久久精品| 精品福利av导航| 精品欧美一区二区久久| 精品成人a区在线观看| 日韩视频在线一区二区| 日韩美女主播在线视频一区二区三区 | 成人免费视频app| 丁香另类激情小说| 95精品视频在线| 色婷婷一区二区三区四区| 色综合一个色综合| 欧美日本韩国一区| 精品欧美一区二区三区精品久久| 69久久夜色精品国产69蝌蚪网| 欧美日韩免费高清一区色橹橹| 6080日韩午夜伦伦午夜伦| 国产精品久久精品日日| 久久久久久免费网| 国产蜜臀97一区二区三区| 亚洲欧洲制服丝袜| 人人狠狠综合久久亚洲| 成人综合婷婷国产精品久久蜜臀| 成人sese在线| 精品国产1区二区| 亚洲一区二区三区爽爽爽爽爽| 蜜桃久久久久久| 色综合天天综合网国产成人综合天| 91国偷自产一区二区三区观看 | 国产婷婷色一区二区三区 | 亚洲日穴在线视频| 麻豆91精品视频| 欧美综合欧美视频| 中文字幕一区二区三区在线不卡| 日韩国产精品久久久| 91视频在线观看免费| 精品国产乱码久久久久久蜜臀 | 成人18精品视频| 精品久久久久香蕉网| 美国十次综合导航| 欧美日韩国产一级二级| 中文字幕一区在线观看视频| 韩国成人在线视频| 日韩欧美国产综合| 免费在线一区观看| 欧美精品一区二区三区蜜臀| 丝袜美腿亚洲一区| 日韩一区二区三区四区五区六区| 亚洲一区二区三区不卡国产欧美| 色综合久久88色综合天天6 | 欧美高清视频www夜色资源网| 一色屋精品亚洲香蕉网站| www.欧美色图| 一区二区欧美国产| 91精品国产欧美一区二区18| 亚洲电影一级黄| 欧美精品粉嫩高潮一区二区| 丝袜亚洲另类欧美综合| 久久综合视频网| 91丝袜呻吟高潮美腿白嫩在线观看| 中文字幕精品一区二区精品绿巨人| 免费视频最近日韩| 欧洲av在线精品| 午夜精品aaa| 国产欧美一区二区精品久导航 | 亚洲精品一区二区三区在线观看| 老鸭窝一区二区久久精品| 国产色产综合色产在线视频| 99久久久无码国产精品| 日韩va亚洲va欧美va久久| 国产精品卡一卡二| 精品国产三级a在线观看| 99免费精品视频| 国产精品77777竹菊影视小说| 亚洲福利视频导航| 国产精品天干天干在线综合| 91精品国产乱| 欧美影院午夜播放| 国产一区二区不卡| 久久国产综合精品| 亚洲成人自拍一区| 亚洲成在线观看| 亚洲一区二区三区激情| 亚洲码国产岛国毛片在线| 国产精品人人做人人爽人人添| 日韩精品一区二区三区四区| 在线播放国产精品二区一二区四区 | 午夜一区二区三区在线观看| **网站欧美大片在线观看| 亚洲国产人成综合网站| 五月综合激情婷婷六月色窝| 午夜精品成人在线| 久久精品久久久精品美女| 日本不卡一二三| 国产在线观看一区二区| 粉嫩在线一区二区三区视频| 国产a区久久久| 91国偷自产一区二区开放时间 | 91黄色激情网站| 欧美日韩国产高清一区| 2020国产精品| 一区二区在线免费观看| 亚洲三级电影全部在线观看高清| 国产人久久人人人人爽| 国产肉丝袜一区二区| 亚洲一区二区视频在线观看| 蜜桃免费网站一区二区三区| 国产成人综合网站| 在线观看免费视频综合| 2021国产精品久久精品| 亚洲国产美国国产综合一区二区| 久久精品综合网| 精品国产免费一区二区三区四区 | 久久精品一区蜜桃臀影院| 亚洲女女做受ⅹxx高潮| 日韩国产欧美在线视频| 91亚洲精品一区二区乱码| 精品日韩在线观看| 偷拍与自拍一区| 色老头久久综合| 国产农村妇女精品| 丰满少妇在线播放bd日韩电影| 国产精品69毛片高清亚洲| 在线成人av网站| 欧美色图在线观看| 亚洲欧美日韩久久| 欧美麻豆精品久久久久久| 丰满岳乱妇一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 精品国产制服丝袜高跟| 色综合视频在线观看| 国产剧情在线观看一区二区| 亚洲综合一区二区三区| xfplay精品久久| 欧美美女直播网站| 色婷婷综合久久| 99riav一区二区三区| 国产精品中文字幕日韩精品| 婷婷六月综合网| 一区二区三区免费| 玉足女爽爽91| 亚洲欧美一区二区三区极速播放 | 亚洲美女视频一区| 国产精品亲子伦对白| 久久综合狠狠综合久久综合88| 宅男噜噜噜66一区二区66| 欧美色精品在线视频| 欧美日精品一区视频| 欧美日韩国产欧美日美国产精品| 91视频一区二区| 在线视频观看一区| 欧美色国产精品| 欧美一区二区三区在线视频| 日韩一级在线观看| 久久久久久久免费视频了| 精品卡一卡二卡三卡四在线| 久久久久国产精品免费免费搜索| 久久夜色精品国产噜噜av| 国产精品水嫩水嫩| 亚洲黄色小视频| 六月婷婷色综合| 成人网在线免费视频| 色天天综合色天天久久| 制服丝袜亚洲色图| 国产视频一区在线观看| 亚洲视频香蕉人妖| 久久精品国产亚洲aⅴ| 99视频热这里只有精品免费| 精品污污网站免费看| 国产日韩欧美综合在线|