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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? drawglscene.cpp

?? motion_blur using opengl
?? CPP
字號:
//////////////////////////////////////////////////////////////////////
// scene.cpp: implementation of the scene class.
//
//////////////////////////////////////////////////////////////////////

#include "scene.h"

//////////////////////////////////////////////////////////////////////
// Tu je vsetko co sa kresli
int size=256;
int size_old=1;
float t;
float delta_rot_x=0,delta_rot_y=0.f,delta_rot_z=20.f,rot_y=0,rot_x=0,rot_z;
float	blend=0.8f;
int sposob=0,pocet_krokov=10;

void scene::RenderMotionBlur()			// vykresli akumulacnu texturu na celu obrazovku o mensom jase ( jas - podla premennej blend)
{
	glPushMatrix();

	glDisable(GL_LIGHTING);				// vypne svetlo

	glDisable(GL_DEPTH_TEST);			// vypneme z-buffer test
	glDepthMask(0);						// vypneme zapis do z-buffra

	glBlendFunc(GL_SRC_ALPHA,GL_ONE);	// kreslime na obrazovku texturu podla nastavenej alpha
	glEnable(GL_BLEND);					

	glBindTexture(GL_TEXTURE_2D, tex[0]);

	glColor4f(1, 1, 1, blend);			// natavime alpha

	glMatrixMode(GL_PROJECTION);		// projekcia
	glPushMatrix();
	glLoadIdentity();					// Reset pohladu - nacita jednotkovu maticu
	glOrtho(0, size, 0, size, -1, 1);	
	glMatrixMode(GL_MODELVIEW);			// Modelview
	glLoadIdentity();
	glBegin(GL_QUADS);
		glTexCoord2f(0.0f, 0.0f); glVertex2i(0,0);
		glTexCoord2f(1.0f, 0.0f); glVertex2i(size,0);
		glTexCoord2f(1.0f, 1.0f); glVertex2i(size,size);
		glTexCoord2f(0.0f, 1.0f); glVertex2i(0,size);
	glEnd();
	
	glMatrixMode(GL_PROJECTION);		// projekcia
	glPopMatrix();
	glMatrixMode(GL_MODELVIEW);			// Modelview

	glEnable(GL_DEPTH_TEST);
	glDepthMask(1);
	glDisable(GL_BLEND);							

	glPopMatrix();
	if(svetlo)glEnable(GL_LIGHTING);			// zapne svetlo
}

void scene::DrawGLScene()
{
	if(keys['L'] && keys[VK_CONTROL]){ english = !english; keys['L']=0; }
	{
		float _fps = fps;
		if(keys[VK_SHIFT])_fps *= 2.0f;
		if(keys['W'])delta_rot_x -= 30.0f/_fps;
		if(keys['S'])delta_rot_x += 30.0f/_fps;
		if(keys['A'])delta_rot_y -= 30.0f/_fps;
		if(keys['D'])delta_rot_y += 30.0f/_fps;
		if(keys['X'])delta_rot_z -= 30.0f/_fps;
		if(keys['E'])delta_rot_z += 30.0f/_fps;

		if(keys['W'] && keys['S']){delta_rot_x=0;}
		if(keys['A'] && keys['D']){delta_rot_y=0;}
		if(keys['E'] && keys['X']){delta_rot_z=0;}

		if(keys['R'])
		{
			rot_x = 0;
			rot_y = 0;
			rot_z = 0;
		}

		rot_x += delta_rot_x/fps;
		if(rot_x>360.f)rot_x-=360.f;
		else if(rot_x<0.f)rot_x+=360.f;
		rot_y += delta_rot_y/fps;
		if(rot_y>360.f)rot_y-=360.f;
		else if(rot_y<0.f)rot_y+=360.f;
		rot_z += delta_rot_z/fps;
		if(rot_y>360.f)rot_z-=360.f;
		else if(rot_z<0.f)rot_z+=360.f;
	}

	if(keys['P']){	ciary = !ciary;	keys['P']=0; }
		
	if(ciary)glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
	else	 glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);

	if		(keys['1'])size=2;
	else if	(keys['2'])size=4;
	else if	(keys['3'])size=8;
	else if	(keys['4'])size=16;
	else if	(keys['5'])size=32;
	else if	(keys['6'])size=64;
	else if	(keys['7'])size=128;
	else if	(keys['8'])size=256;
	else if	(keys['9'])size=512;
	else if	(keys['0'])size=1024;

	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	//cisti buffer v aktualnom viewporte a to iba color a hlbkovy bit
	glLoadIdentity();
		
	Prepni_do_3D();
	c->MoveWorld(fps);
	
	if(keys['L']){	svetlo = !svetlo; keys['L']=0; }
	if(svetlo)glEnable(GL_LIGHTING);			// zapne svetlo

	if(keys[VK_ADD])
	{
		if(motion_fps<10.f)motion_fps+=0.5f;
		else motion_fps+=1.0f;
		keys[VK_ADD]=0;
	}
	if(keys[VK_SUBTRACT])
	{
		if(motion_fps<11.f)
		{
			if(motion_fps>0.0f)motion_fps -=0.5f;
		}
		else motion_fps-=1.0f;
		keys[VK_SUBTRACT]=0;
	}

	if(keys[VK_SPACE])
	{
		sposob++;
		if(sposob>2)sposob=0;
		keys[VK_SPACE]=0;
	}
	
	if(sposob==0 || sposob==1)
	{	
		if(keys['M'])
		{
			blend+= 0.05f/fps;
			if(blend>1.0f)blend=1.0f;
		}
		if(keys['N'])
		{
			blend-= 0.05f/fps;
			if(blend<0.0f)blend=0.0f;
		}

		glRotatef(rot_x,1,0,0);
		glRotatef(rot_y,0,1,0);
		glRotatef(rot_z,0,0,1);

		if( t_motion.GetTime() > (1.0f / motion_fps) )		// ak cas od posledneho pridania do akumulacnej textury je > ako perioda kreslenia do akumulacnej textury
		{
			t_motion.Reset();

			glViewport(0, 0, size, size==1024?512:size);								
									
			RenderMotionBlur();
			
			if(sposob==0)
			{
				glEnable(GL_BLEND);
				glBlendFunc(GL_ONE,GL_ONE);	// kreslime na obrazovku texturu podla nastavenej alpha
				glEnable(GL_CULL_FACE);
				glCullFace(GL_FRONT);

				GLfloat LightAmbient[]	=	{ 0.2f*(1.f-blend), 0.2f*(1.f-blend), 0.2f*(1.f-blend), 0 };
				GLfloat LightDiffuse[]	=	{ 1.0f*(1.f-blend), 1.0f*(1.f-blend), 1.0f*(1.f-blend), 0 };
		
				glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, LightAmbient );
				glLightfv ( GL_LIGHT0, GL_DIFFUSE, LightDiffuse );
				glColor3f(1.f-blend, 1.f-blend, 1.f-blend);

				glColorMask(0,0,0,0);
				_6kriz->Render();
				glColorMask(1,1,1,1);
				_6kriz->Render();

				glDisable(GL_CULL_FACE);
				glDisable(GL_BLEND);
			}
			else
			{
				GLfloat LightAmbient[]	=	{ 0.2f, 0.2f, 0.2f, 0 };
				GLfloat LightDiffuse[]	=	{ 1.0f, 1.0f, 1.0f, 0 };
				glColor3f(1.f, 1.f, 1.f);
		
				glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, LightAmbient );
				glLightfv ( GL_LIGHT0, GL_DIFFUSE, LightDiffuse );
				_6kriz->Render();
			}

			timer1.Reset();
			
			if(size!=size_old || !tex[0])
			{
				if (tex[0])
					glDeleteTextures( 1, &tex[0]);
				glGenTextures(1, &tex[0]);
				glBindTexture(GL_TEXTURE_2D, tex[0]);
				glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
				glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP );		// nastavuje za textury sa v smere u (vodorovnom) neopakuju
				glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP );		// nastavuje za textury sa v smere v (zvislom) neopakuju
				// Copies the contents of the frame buffer into the texture
				glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, size, size==1024?512:size, 0);
				size_old=size;
			}
			else
			{
				glBindTexture(GL_TEXTURE_2D, tex[0]);
				// Copies the contents of the frame buffer into the texture
				glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, size, size==1024?512:size);
			}

			t = timer1.GetTime();

			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);			
			glViewport(0, 0, screen_x, screen_y);	
		}

		RenderMotionBlur();
		if(sposob==1 && !keys['T'])
		{
			_6kriz->Render();
		}
	}
	else if(sposob==2)
	{
		GLfloat LightAmbient[]	=	{ 0.2f, 0.2f, 0.2f, 1.0f };		//svetlo ktore osvetluje zo vsetkych stran rovnako (okolite svetlo)
		GLfloat LightDiffuse[]	=	{ 1.0f, 1.0f, 1.0f, 1.0f };		//smerove, alebo bodove svetlo - svetlo svieti z pozicie zadanej pomocou premennej LightPosition
		GLfloat mat_diffuse[]	= { 1.0f, 1.0f, 1.0f, 1.0f };
		GLfloat mat_specular[]	= { 0.9f, 0.9f, 0.9f, 1.0f };
		float alpha;

		if(keys['M'])
		{
			pocet_krokov++;
			keys['M']=0;
		}
		if(keys['N'])
		{
			pocet_krokov--;
			if(pocet_krokov<1)pocet_krokov=1;
			keys['N']=0;
		}

		glBlendFunc(GL_SRC_ALPHA,GL_ONE);	
		glEnable(GL_BLEND);
		for(int i=0; i<pocet_krokov; i++)
		{
			glPushMatrix();
			alpha = (1.0f-i/(float)pocet_krokov)/(pocet_krokov*0.5f*(1.f+1.f/(float)pocet_krokov));
			glColor4f(1,1,1,alpha);
			LightAmbient[3] = alpha;
			LightDiffuse[3] = alpha;
			mat_diffuse[3] = alpha;
			mat_specular[3] = alpha;
			glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, LightAmbient );	// nastavenie okoliteho (Ambient) svetla
			glLightfv ( GL_LIGHT0, GL_DIFFUSE, LightDiffuse );			// nastavenie difuzneho svetla
			glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE , mat_diffuse);
			glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);

			glRotatef(rot_x-i*delta_rot_x/motion_fps,1,0,0);
			glRotatef(rot_y-i*delta_rot_y/motion_fps,0,1,0);
			glRotatef(rot_z-i*delta_rot_z/motion_fps,0,0,1);

			glBlendFunc(GL_ZERO,GL_ONE);// nekreslime nic na obrazovku, - iba do z-buffera
			glDisable(GL_TEXTURE_2D);
			glDisable(GL_LIGHTING);
			glColorMask(0,0,0,0);
			_6kriz->Render(0);
			glColorMask(1,1,1,1);

			glBlendFunc(GL_SRC_ALPHA,GL_ONE);
			glDepthFunc(GL_EQUAL );		// vykreslime iba tam kde sa uz kreslilo
			glEnable(GL_TEXTURE_2D);
			if(svetlo)glEnable(GL_LIGHTING);			// zapne svetlo
			_6kriz->Render(1);

			glDepthFunc(GL_LEQUAL );
			glClear(GL_DEPTH_BUFFER_BIT);
			glPopMatrix();
		}
		LightAmbient[3] = 1.0f;
		LightDiffuse[3] = 1.0f;
		mat_diffuse[3] = 1.f;
		mat_specular[3] = 1.f;
		glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, LightAmbient );	// nastavenie okoliteho (Ambient) svetla
		glLightfv ( GL_LIGHT0, GL_DIFFUSE, LightDiffuse );			// nastavenie difuzneho svetla
		glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE , mat_diffuse);
		glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
		glDisable(GL_BLEND);
	}

	Prepni_do_2D();

	glColor4f(1,1,1,1);

	font0->Begin();
	fps = 1.0f / timer0.GetTime();
	timer0.Reset();
	fps_counter.GetAvgFps(1.f/fps,0.2f);
	gcvt( (double)fps_counter.avg_fps, 4, text);
	font0->Print(0,0,text,0);

	gcvt( (double)motion_fps, 4, text);
	font0->Print(10,0,text,0);

	if(sposob==0)
	{
		gcvt( (double)blend, 4, text);
	}
	else if(sposob==1)
	{
		itoa(pocet_krokov,text,10);
	}
	
	font0->Print(20,0,text,0);

	if(sposob==0 || sposob==1)
	{
		gcvt( (double)t*1000.f, 4, text);
		strcat(text," ms");
		font0->Print(0,1,text,0);
		
		itoa(size,text,10);
		if(size!=1024)
			font0->Print(0,2,text,0);
		else
			font0->Print(0,2,"1024 x 512",0);
		if(sposob==0)
			font0->Print(40,0,english ? "rendering to texture" : "kreslenie do textury",1);
		else
			font0->Print(40,0,english ? "rendering to texture 2" : "kreslenie do textury 2",1);
	}
	else font0->Print(40,0,english ? "more-times rendering":"viacnasobne kreslenie",1);

	if(keys['H'])							// zobrazenie helpu
	{
		int i=3;
		glDisable(GL_TEXTURE_2D);
		glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
		glColor4f(0,0,0,0.6f);
		glLoadIdentity();
		glBegin(GL_QUADS);
			glVertex2i(80,80);
			glVertex2i(800,100);
			glVertex2i(800,555);
			glVertex2i(80,555);
		glEnd();
		glColor4f(1,1,1,1);
		glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_COLOR);
		glEnable(GL_TEXTURE_2D);

		if(english)
		{
			font0->Print(15,i++,"Program: Motion blur",0);
			glColor3f(0.9f,0.9f,1.0f);
			font0->Print(8,i++,"Programmer: Marek Mizanin - www.mizanin.szm.sk",0);
			glColor3f(1.0f,1.0f,1.0f);
			font0->Print(10,i++,"Controls:",0);
			font0->Print(15,i++,"space - change way to create blur",1);
			i++;
			font0->Print(12,i++,"Motion blur with rendering to texture:",1);
			font0->Print(15,i++,"+ on numeric. - increase fps motion blur",1);
			font0->Print(15,i++,"- on numeric. - decrease fps motion blur",1);
			font0->Print(15,i++,"0,1,..,9 - set size of texture on 2^key",1);
			font0->Print(15,i++,"M - increase alpha",1);
			font0->Print(15,i++,"N - decrease alpha",1);
			i++;
			font0->Print(12,i++,"Motion blur with more-times rendering:",1);
			font0->Print(15,i++,"+ on numeric. - increase fps motion blur",1);
			font0->Print(15,i++,"- on numeric. - decrease fps motion blur",1);
			font0->Print(15,i++,"M - increase count of drawing",1);
			font0->Print(15,i++,"N - decrease count of drawing",1);
			i++;
			font0->Print(15,i++,"P - on/off wire frame",1);
			font0->Print(15,i++,"L - on/off lighting",1);
			font0->Print(15,i++,"T - show texture",1);
			i++;
			font0->Print(15,i++,"AD, WS, EX - rotate objecst in axis x, y, z",1);
			font0->Print_scale(15,i++,"A and simultaneously D - stop rotation x, similarly also for y,z axis",1,0.8f,1.f);

			i++;
			font0->Print(15,i++,"1. row - FPS, fps motion blur, alpha/count of drawing",1);
			font0->Print(15,i++,"2. row - time for copying screen to texture",1);
			font0->Print(15,i++,"3. row - size of texture",1);
		}
		else
		{
			font0->Print(15,i++,"Program: Motion blur",0);
			glColor3f(0.9f,0.9f,1.0f);
			font0->Print(8,i++,"Naprogramoval: Marek Mizanin - www.mizanin.szm.sk",0);
			glColor3f(1.0f,1.0f,1.0f);
			font0->Print(10,i++,"Pouzivane klavesy:",0);
			font0->Print(15,i++,"medzernik - meni sposob vytvaranie rozmazania",1);
			i++;
			font0->Print(12,i++,"Motion blur pomocou kreslenia do textury:",1);
			font0->Print(15,i++,"+ na numer. - zvecsuje fps motion blur",1);
			font0->Print(15,i++,"- na numer. - zmensuje fps motion blur",1);
			font0->Print(15,i++,"0,1,..,9 - nastavuje velkost textury na 2^klavesu",1);
			font0->Print(15,i++,"M - zvecsuje alpha",1);
			font0->Print(15,i++,"N - zmensuje alpha",1);
			i++;
			font0->Print(12,i++,"Motion blur pomocou viacnasobneho kreslenia:",1);
			font0->Print(15,i++,"+ na numer. - zvecsuje fps motion blur",1);
			font0->Print(15,i++,"- na numer. - zmensuje fps motion blur",1);
			font0->Print(15,i++,"M - zvecsuje pocet kresleni",1);
			font0->Print(15,i++,"N - zmensuje pocet kresleni",1);
			i++;
			font0->Print(15,i++,"P - zapne/vypne zobrazovanie ciar",1);
			font0->Print(15,i++,"L - zapne/vypne svetlo",1);
			font0->Print(15,i++,"T - zobrazy vytvorenu texturu",1);
			i++;
			font0->Print(15,i++,"AD, WS, EX - rotuje objekt podla smerov x, y, z",1);
			font0->Print(15,i++,"A a zaroven D - stop rotacia x, podobne aj pre osi y,z",1);

			i++;
			font0->Print(15,i++,"1. riadok - FPS, fps motion blur, alpha/pocet kresleni",1);
			font0->Print(15,i++,"2. riadok - cas potrebny na skopirovanie do textury",1);
			font0->Print(15,i++,"3. riadok - velkost textury",1);
		}
		font0->Print(15,i++,"H - help",1);
	}
	font0->End();
	if(keys['F']){	SaveScreen();	keys['F']=0;}		// ulozenie obrazovky do raw subora
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线播放成人| 久久激五月天综合精品| 91在线观看一区二区| 国产精品久久久久久久岛一牛影视| 国产在线视频不卡二| 久久久蜜桃精品| 波多野结衣在线一区| 亚洲你懂的在线视频| 日本精品一级二级| 日韩中文字幕av电影| 精品久久99ma| 成人免费看的视频| 亚洲最新在线观看| 欧美一区二区三区四区五区| 国产一区二区网址| 亚洲色图都市小说| 欧美喷水一区二区| 国产精品一区2区| 亚洲丝袜精品丝袜在线| 欧美撒尿777hd撒尿| 韩国一区二区视频| 亚洲欧美日韩中文播放| 欧美电影在哪看比较好| 国产一区二区三区电影在线观看| 中文字幕亚洲区| 69堂国产成人免费视频| 国产jizzjizz一区二区| 洋洋av久久久久久久一区| 精品日本一线二线三线不卡| 成人aaaa免费全部观看| 日本欧美加勒比视频| 国产精品理论片在线观看| 欧美精品第一页| 大白屁股一区二区视频| 天天色天天操综合| 国产精品你懂的在线欣赏| 9191国产精品| 色综合天天在线| 精品在线免费视频| 一区二区三区日韩欧美| 久久精品一二三| 5858s免费视频成人| 国产成+人+日韩+欧美+亚洲| 日本成人中文字幕在线视频| 亚洲天堂久久久久久久| 久久久亚洲高清| 欧美一区二区三区喷汁尤物| 色呦呦日韩精品| 国产精品996| 免费观看一级特黄欧美大片| 亚洲精品免费视频| 中文字幕高清一区| 欧美精品一区二区在线播放 | 日本成人中文字幕在线视频| 中文字幕av资源一区| 欧美videos大乳护士334| 欧美三级日本三级少妇99| www.亚洲精品| 成人性视频免费网站| 国产真实精品久久二三区| 日本一不卡视频| 视频在线观看91| 亚洲电影一级片| 一区二区在线观看免费| 国产精品国产a| 中文一区一区三区高中清不卡| 亚洲精品一区二区三区精华液| 欧美一区二区三区在线| 欧美久久久久久久久久| 欧美性色综合网| 欧美亚日韩国产aⅴ精品中极品| 91蜜桃婷婷狠狠久久综合9色| 国产91丝袜在线观看| 国产二区国产一区在线观看| 久久99国产精品免费| 麻豆精品精品国产自在97香蕉| 日韩黄色免费网站| 丝瓜av网站精品一区二区| 亚洲福利一区二区| 亚洲一区视频在线观看视频| 亚洲一区二区三区爽爽爽爽爽| 亚洲黄色av一区| 亚洲尤物在线视频观看| 亚洲va韩国va欧美va| 午夜电影久久久| 青青草原综合久久大伊人精品优势| 日韩精品电影在线| 麻豆精品一区二区综合av| 精品一区二区三区在线观看国产| 国产毛片精品视频| 成人久久久精品乱码一区二区三区 | 91麻豆高清视频| 欧洲精品中文字幕| 欧美日韩大陆一区二区| 日韩欧美国产系列| 久久久激情视频| 亚洲欧美一区二区三区极速播放| 亚洲综合丝袜美腿| 蜜桃视频一区二区三区| 国产乱对白刺激视频不卡| 成人午夜激情片| 欧美午夜寂寞影院| 欧美一区二视频| 日本一区二区三区免费乱视频 | 亚洲色图清纯唯美| 一区二区三区不卡视频在线观看| 亚洲va韩国va欧美va| 九九国产精品视频| 波多野结衣视频一区| 欧美色爱综合网| 2020国产精品| 亚洲男同性恋视频| 久久精品国产秦先生| 成人黄页毛片网站| 欧美人狂配大交3d怪物一区| 久久精品一区蜜桃臀影院| 一区二区三区毛片| 国产精品一区二区无线| 色一情一乱一乱一91av| 精品剧情在线观看| 亚洲精品中文字幕乱码三区| 久久精品免费看| 91小视频在线观看| 欧美精品一区二区在线播放| 亚洲欧美激情视频在线观看一区二区三区 | 国产三级精品三级在线专区| 亚洲线精品一区二区三区| 国产精品资源在线看| 欧美日韩高清一区二区| 国产精品女主播av| 美女任你摸久久| 日本韩国视频一区二区| 久久综合久久综合亚洲| 首页国产丝袜综合| 97国产一区二区| 久久免费国产精品| 视频一区二区中文字幕| 91网站在线观看视频| 久久日韩精品一区二区五区| 五月天欧美精品| 91麻豆.com| 国产精品成人免费精品自在线观看 | 天堂成人国产精品一区| 91亚洲男人天堂| 国产欧美一区二区精品秋霞影院 | 五月天久久比比资源色| 91小视频免费看| 日本一二三不卡| 国产一区二区久久| 91精品国产一区二区| 一区二区三区av电影| av午夜精品一区二区三区| 久久欧美中文字幕| 国产一区二区三区四区在线观看| 日韩一区二区麻豆国产| 亚洲国产一区二区三区| 色综合婷婷久久| 亚洲人成网站在线| 99精品国产99久久久久久白柏| 国产亚洲综合在线| 国产成人高清视频| 久久精品视频在线看| 国产一区二区三区观看| www国产亚洲精品久久麻豆| 九九**精品视频免费播放| 日韩精品一区二区三区蜜臀| 免费欧美日韩国产三级电影| 91精品国产乱| 久久91精品国产91久久小草| 日韩精品中文字幕一区二区三区| 久久精品久久综合| 精品国产一区二区三区不卡 | 久久免费视频色| 国产一区中文字幕| 久久伊人蜜桃av一区二区| 国产一区二区三区在线观看免费视频| 日韩视频一区二区三区| 久久99精品国产麻豆不卡| 久久久亚洲精华液精华液精华液| 国内一区二区在线| 国产精品婷婷午夜在线观看| 99久久综合色| 一二三区精品福利视频| 欧美日韩视频第一区| 蜜桃一区二区三区在线观看| 久久久亚洲午夜电影| 成人黄动漫网站免费app| 亚洲三级免费电影| 欧美在线一区二区| 日本成人在线不卡视频| 亚洲欧美一区二区久久| 91福利社在线观看| 日本伊人色综合网| 国产日产欧产精品推荐色| 99这里都是精品| 日日欢夜夜爽一区| 久久精品亚洲乱码伦伦中文| 色综合久久中文综合久久97| 亚洲成人tv网| 久久久久久久电影|