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

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

?? particle.cpp

?? 骨骼動畫....把魔獸模型解出的代碼..
?? CPP
字號:
//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "Particle.h"


//+-----------------------------------------------------------------------------
//| Constructor
//+-----------------------------------------------------------------------------
PARTICLE::PARTICLE()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Destructor
//+-----------------------------------------------------------------------------
PARTICLE::~PARTICLE()
{
	Clear();
}


//+-----------------------------------------------------------------------------
//| Creates the particle
//+-----------------------------------------------------------------------------
VOID PARTICLE::Create(CONST SEQUENCE_TIME& SequenceTime, MODEL_PARTICLE_EMITTER_2* ParticleEmitter2)
{
	FLOAT Speed;
	FLOAT Width;
	FLOAT Length;
	FLOAT Latitude;
	D3DXVECTOR3 PivotPoint;
	D3DXVECTOR3 VelocityStart;
	D3DXVECTOR3 VelocityEnd;
	D3DXVECTOR3 TempVector;
	D3DXVECTOR4 TempVector2;
	D3DXMATRIX RotationMatrix;
	D3DXMATRIX RotationMatrixY;
	D3DXMATRIX RotationMatrixZ;

	Speed = ParticleEmitter2->Data().Speed.GetScalar(SequenceTime);
	Width = ParticleEmitter2->Data().Width.GetScalar(SequenceTime) / 2.0f;
	Length = ParticleEmitter2->Data().Length.GetScalar(SequenceTime) / 2.0f;
	Latitude = ParticleEmitter2->Data().Latitude.GetScalar(SequenceTime) * (D3DX_PI / 180.0f);
	Variation = ParticleEmitter2->Data().Variation.GetScalar(SequenceTime);

	Speed *= (1.0f + Random.Float(0.0f, Variation));
	PivotPoint = ParticleEmitter2->Data().PivotPoint;

	TempVector = D3DXVECTOR3(PivotPoint.x + Random.Float(-Width, Width), PivotPoint.y + Random.Float(-Length, Length), PivotPoint.z);
	D3DXVec3Transform(&TempVector2, &TempVector, &ParticleEmitter2->Matrix());
	Position = D3DXVECTOR3(TempVector2.x, TempVector2.y, TempVector2.z);

	D3DXMatrixRotationY(&RotationMatrixY, Random.Float(0, Latitude));
	D3DXMatrixRotationZ(&RotationMatrixZ, Random.Float(0, 2 * D3DX_PI));
	D3DXMatrixMultiply(&RotationMatrix, &RotationMatrixY, &RotationMatrixZ);
	D3DXVec3Transform(&TempVector2, &D3DXVECTOR3(0.0f, 0.0f, 1.0f), &RotationMatrix);
	Velocity = D3DXVECTOR3(TempVector2.x, TempVector2.y, TempVector2.z);
	D3DXVec3Normalize(&Velocity, &Velocity);

	VelocityStart = Position;
	VelocityEnd = Position + Velocity;

	D3DXVec3Transform(&TempVector2, &VelocityStart, &ParticleEmitter2->Matrix());
	VelocityStart = D3DXVECTOR3(TempVector2.x, TempVector2.y, TempVector2.z);
	D3DXVec3Transform(&TempVector2, &VelocityEnd, &ParticleEmitter2->Matrix());
	VelocityEnd = D3DXVECTOR3(TempVector2.x, TempVector2.y, TempVector2.z);
	D3DXVec3Normalize(&Velocity, &(VelocityEnd - VelocityStart));
	Velocity *= Speed;

	FilterMode = ParticleEmitter2->Data().FilterMode;
	TextureFileName = ParticleEmitter2->TextureNode.IsAttached() ? ParticleEmitter2->TextureNode.GetObjectData()->Data().FileName : "";

	SegmentColor1 = ParticleEmitter2->Data().SegmentColor1;
	SegmentColor2 = ParticleEmitter2->Data().SegmentColor2;
	SegmentColor3 = ParticleEmitter2->Data().SegmentColor3;
	Alpha = ParticleEmitter2->Data().Alpha;
	ParticleScaling = ParticleEmitter2->Data().ParticleScaling;
	HeadLifeSpan = ParticleEmitter2->Data().HeadLifeSpan;
	HeadDecay = ParticleEmitter2->Data().HeadDecay;
	TailLifeSpan = ParticleEmitter2->Data().TailLifeSpan;
	TailDecay = ParticleEmitter2->Data().TailDecay;

	Rows = ParticleEmitter2->Data().Rows;
	Columns = ParticleEmitter2->Data().Columns;
	ReplaceableId = ParticleEmitter2->Data().ReplaceableId;
	Time = ParticleEmitter2->Data().Time;
	Gravity = ParticleEmitter2->Data().Gravity.GetScalar(SequenceTime);
	LifeSpan = ParticleEmitter2->Data().LifeSpan;
	InitialLifeSpan = LifeSpan;
	TailLength = ParticleEmitter2->Data().TailLength;

	SortPrimitivesFarZ = ParticleEmitter2->Data().SortPrimitivesFarZ;
	LineEmitter = ParticleEmitter2->Data().LineEmitter;
	ModelSpace = ParticleEmitter2->Data().ModelSpace;
	AlphaKey = ParticleEmitter2->Data().AlphaKey;
	Unshaded = ParticleEmitter2->Data().Unshaded;
	Unfogged = ParticleEmitter2->Data().Unfogged;
	XYQuad = ParticleEmitter2->Data().XYQuad;
	Squirt = ParticleEmitter2->Data().Squirt;
	Head = ParticleEmitter2->Data().Head;
	Tail = ParticleEmitter2->Data().Tail;

	CurrentFrame = 0;

	if(Head)
	{
		NrOfHeadFrames = static_cast<INT>((HeadLifeSpan.y - HeadLifeSpan.x + 1.0f) * HeadLifeSpan.z);
		NrOfHeadDecayFrames = static_cast<INT>((HeadDecay.y - HeadDecay.x + 1.0f) * HeadDecay.z);
	}
	else
	{
		NrOfHeadFrames = 0;
		NrOfHeadDecayFrames = 0;
	}

	if(Tail)
	{
		NrOfTailFrames = static_cast<INT>((TailLifeSpan.y - TailLifeSpan.x + 1.0f) * TailLifeSpan.z);
		NrOfTailDecayFrames = static_cast<INT>((TailDecay.y - TailDecay.x + 1.0f) * TailDecay.z);
	}
	else
	{
		NrOfTailFrames = 0;
		NrOfTailDecayFrames = 0;
	}
}


//+-----------------------------------------------------------------------------
//| Clears the particle
//+-----------------------------------------------------------------------------
VOID PARTICLE::Clear()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Renders the particle
//+-----------------------------------------------------------------------------
VOID PARTICLE::Render()
{
	FLOAT Scale;
	FLOAT LifeFactor;
	FLOAT TempFactor;
	FLOAT TempInterval;
	FLOAT CellWidth;
	FLOAT CellHeight;
	FLOAT Left;
	FLOAT Top;
	FLOAT Right;
	FLOAT Bottom;
	INT Row;
	INT Column;
	INT Index;
	INT FrameStart;
	INT FrameEnd;
	INT FrameInterval;
	INT FrameIntervalStart;
	INT TotalNrOfFrames;
	D3DCOLOR Color;
	D3DXCOLOR ColorVector;
	D3DXCOLOR ColorVector1;
	D3DXCOLOR ColorVector2;
	D3DXCOLOR ColorVector3;
	TEXTURE* Texture;
	D3DXMATRIX WorldMatrix;
	D3DXMATRIX ScaleMatrix;
	D3DXMATRIX PositionMatrix;
	D3DXQUATERNION CameraRotation;
	D3DXMATRIX RotationMatrix;
	D3DXMATRIX CameraRotationMatrix;
	D3DXMATRIX CameraRotationMatrixY;
	D3DXMATRIX CameraRotationMatrixZ;
	LPDIRECT3DDEVICE9 Direct3DDevice;

	Direct3DDevice = Graphics.GetDevice();
	if(Direct3DDevice == NULL) return;

	LifeFactor = (InitialLifeSpan == 0.0f) ? 0.0f : (1.0f - (LifeSpan / InitialLifeSpan));

	Direct3DDevice->SetVertexShader(NULL);
	Direct3DDevice->SetPixelShader(NULL);
	Direct3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
	Direct3DDevice->LightEnable(0, FALSE);

	if(TextureFileName == "")
	{
		Texture = TextureManager.GetReplaceableTexture(ReplaceableId);
	}
	else
	{
		Texture = TextureManager.GetTexture(TextureFileName);
	}

	if(Texture == NULL)
	{
		Direct3DDevice->SetTexture(0, NULL);
	}
	else
	{
		Direct3DDevice->SetTexture(0, Texture->GetTexture());
	}

	switch(FilterMode)
	{
		case FILTER_MODE_NONE:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);

			break;
		}

		case FILTER_MODE_TRANSPARENT:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);

			Direct3DDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATER);
			Direct3DDevice->SetRenderState(D3DRS_ALPHAREF, 0x0000000BE);

			Direct3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
			Direct3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

			break;
		}

		case FILTER_MODE_BLEND:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);

			Direct3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
			Direct3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

			break;
		}

		case FILTER_MODE_ADDITIVE:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);

			Direct3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
			Direct3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

			break;
		}

		case FILTER_MODE_ADD_ALPHA:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);

			Direct3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
			Direct3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

			break;
		}

		case FILTER_MODE_MODULATE:
		{
			Direct3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			Direct3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);

			Direct3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO);
			Direct3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_SRCCOLOR);

			break;
		}
	}

	Direct3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
	Direct3DDevice->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);

	CellWidth = (Columns == 0) ? 1.0f : (1.0f / Columns);
	CellHeight = (Rows == 0) ? 1.0f : (1.0f / Rows);

	ColorVector1.r = SegmentColor1.z;
	ColorVector1.g = SegmentColor1.y;
	ColorVector1.b = SegmentColor1.x;
	ColorVector1.a = Alpha.x / 255.0f;

	ColorVector2.r = SegmentColor2.z;
	ColorVector2.g = SegmentColor2.y;
	ColorVector2.b = SegmentColor2.x;
	ColorVector2.a = Alpha.y / 255.0f;

	ColorVector3.r = SegmentColor3.z;
	ColorVector3.g = SegmentColor3.y;
	ColorVector3.b = SegmentColor3.x;
	ColorVector3.a = Alpha.z / 255.0f;

	if(LifeFactor < Time)
	{
		TempInterval = Time;
		TempFactor = (TempInterval == 0.0f) ? 0.0f : (LifeFactor / TempInterval);

		Scale = ParticleScaling.x + TempFactor * (ParticleScaling.y - ParticleScaling.x);
		D3DXColorLerp(&ColorVector, &ColorVector1, &ColorVector2, TempFactor);
	}
	else
	{
		TempInterval = 1.0f - Time;
		TempFactor = (TempInterval == 0.0f) ? 0.0f : ((LifeFactor - Time) / TempInterval);

		Scale = ParticleScaling.y + TempFactor * (ParticleScaling.z - ParticleScaling.y);
		D3DXColorLerp(&ColorVector, &ColorVector2, &ColorVector3, TempFactor);
	}

	Color = ColorVector;

	TotalNrOfFrames = NrOfHeadFrames + NrOfHeadDecayFrames + NrOfTailFrames + NrOfTailDecayFrames;
	CurrentFrame = static_cast<INT>(LifeFactor * TotalNrOfFrames);

	if(CurrentFrame < NrOfHeadFrames)
	{
		FrameStart = static_cast<INT>(HeadLifeSpan.x);
		FrameEnd = static_cast<INT>(HeadLifeSpan.y);
		FrameInterval = FrameEnd - FrameStart + 1;
		FrameIntervalStart = 0;

		Index = FrameStart + ((CurrentFrame - FrameIntervalStart) % FrameInterval);
	}
	else if(CurrentFrame < (NrOfHeadFrames + NrOfHeadDecayFrames))
	{
		FrameStart = static_cast<INT>(HeadDecay.x);
		FrameEnd = static_cast<INT>(HeadDecay.y);
		FrameInterval = FrameEnd - FrameStart + 1;
		FrameIntervalStart = NrOfHeadFrames;

		Index = FrameStart + ((CurrentFrame - FrameIntervalStart) % FrameInterval);
	}
	else if(CurrentFrame < (NrOfHeadFrames + NrOfHeadDecayFrames + NrOfTailFrames))
	{
		FrameStart = static_cast<INT>(TailLifeSpan.x);
		FrameEnd = static_cast<INT>(TailLifeSpan.y);
		FrameInterval = FrameEnd - FrameStart + 1;
		FrameIntervalStart = NrOfHeadFrames + NrOfHeadDecayFrames;

		Index = FrameStart + ((CurrentFrame - FrameIntervalStart) % FrameInterval);
	}
	else if(CurrentFrame < (NrOfHeadFrames + NrOfHeadDecayFrames + NrOfTailFrames + NrOfTailDecayFrames))
	{
		FrameStart = static_cast<INT>(TailDecay.x);
		FrameEnd = static_cast<INT>(TailDecay.y);
		FrameInterval = FrameEnd - FrameStart + 1;
		FrameIntervalStart = NrOfHeadFrames + NrOfHeadDecayFrames + NrOfTailFrames;

		Index = FrameStart + ((CurrentFrame - FrameIntervalStart) % FrameInterval);
	}
	else
	{
		Index = 0;
	}

	Row = (Columns == 0) ? 0 : (Index / Columns);
	Column = (Columns == 0) ? 0 : (Index % Columns);

	Left = CellWidth * Column;
	Top = CellHeight * Row;
	Right = CellWidth * (Column + 1);
	Bottom = CellHeight * (Row + 1);

	if(Head)
	{
		D3DXMatrixRotationY(&CameraRotationMatrixY, (XYQuad ? -(D3DX_PI / 2.0f) : -Camera.GetPitch()));
		D3DXMatrixRotationZ(&CameraRotationMatrixZ, Camera.GetYaw());
		D3DXMatrixMultiply(&CameraRotationMatrix, &CameraRotationMatrixY, &CameraRotationMatrixZ);
		D3DXQuaternionRotationMatrix(&CameraRotation, &CameraRotationMatrix);
		D3DXMatrixTransformation(&CameraRotationMatrix, NULL, NULL, NULL, NULL, &CameraRotation, NULL);

		D3DXMatrixScaling(&ScaleMatrix, Scale, Scale, Scale);
		D3DXMatrixTranslation(&PositionMatrix, Position.x, Position.y, Position.z);
		D3DXMatrixMultiply(&WorldMatrix, &CameraRotationMatrix, &PositionMatrix);
		D3DXMatrixMultiply(&WorldMatrix, &ScaleMatrix, &WorldMatrix);

		Graphics.SetWorldMatrix(WorldMatrix);

		Graphics.RenderParticle(Color, Left, Top, Right, Bottom);
	}

	if(Tail)
	{
		//Implement me
	}
}


//+-----------------------------------------------------------------------------
//| Updates the particle
//+-----------------------------------------------------------------------------
BOOL PARTICLE::Update(INT TimeDifference)
{
	FLOAT TimeFactor;

	TimeFactor = static_cast<FLOAT>(TimeDifference) / 1000.0f;

	LifeSpan -= TimeFactor;
	if(LifeSpan <= 0.0f) return FALSE;

	Velocity.z -= (Gravity * TimeFactor);
	Position += (Velocity * TimeFactor);

	return TRUE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩和欧美一区二区三区| 色综合久久中文综合久久牛| 欧美性一二三区| 国产精品电影一区二区三区| 欧美年轻男男videosbes| 中国av一区二区三区| 日本乱人伦aⅴ精品| av一区二区三区四区| 亚洲综合在线第一页| 欧美做爰猛烈大尺度电影无法无天| 欧美日本在线看| 日韩成人伦理电影在线观看| 日韩欧美一二区| 亚洲精品一区二区三区影院 | 国产高清精品网站| 国产成人精品亚洲日本在线桃色 | 91蜜桃传媒精品久久久一区二区| 亚洲制服丝袜av| 精品女同一区二区| 国产69精品一区二区亚洲孕妇 | 日本不卡一区二区三区高清视频| 亚洲人成在线观看一区二区| 欧美一区二区三区婷婷月色| 久久久99精品免费观看不卡| 日韩伦理免费电影| 成人午夜短视频| 精品一区二区三区在线播放视频 | 精品一区二区日韩| 欧美一区三区二区| 粉嫩一区二区三区性色av| 日韩和欧美一区二区| 亚洲第四色夜色| 韩国午夜理伦三级不卡影院| 久久久久综合网| 亚洲午夜影视影院在线观看| 国产精品午夜电影| 成人av在线观| 午夜精品免费在线| 亚洲第一av色| 性做久久久久久| 国产精品久久久久久久久免费樱桃 | 欧美aⅴ一区二区三区视频| 亚洲免费观看高清完整版在线 | 亚洲一二三四区| 艳妇臀荡乳欲伦亚洲一区| 亚洲精品国产高清久久伦理二区| 亚洲人快播电影网| 亚洲欧美另类小说视频| 1000精品久久久久久久久| 中文字幕国产精品一区二区| 精品免费99久久| 亚洲男人的天堂av| 国产精品乱码一区二三区小蝌蚪| 国产精品网站导航| 国产精品久久久久一区二区三区| 亚洲欧洲精品天堂一级| 中文字幕综合网| 亚洲欧美成aⅴ人在线观看| 亚洲午夜一区二区三区| 免费看日韩精品| 国产真实乱子伦精品视频| 粉嫩av亚洲一区二区图片| 成人高清免费在线播放| 91色婷婷久久久久合中文| 老汉av免费一区二区三区| 狠狠色伊人亚洲综合成人| 国产成人高清在线| 高清成人免费视频| 自拍av一区二区三区| 欧美日韩激情在线| 亚洲精品日韩综合观看成人91| 91精品在线免费观看| 成人高清伦理免费影院在线观看| voyeur盗摄精品| 一区二区三区久久久| 亚洲国产精品综合小说图片区| 美女视频黄 久久| 国产成人亚洲综合a∨婷婷图片| 色婷婷久久久亚洲一区二区三区 | 91在线观看地址| 欧美一区二区三区喷汁尤物| 国产精品青草综合久久久久99| 亚洲午夜免费电影| 国产福利电影一区二区三区| 欧美性大战xxxxx久久久| 久久这里只有精品6| 一区二区三区.www| 日本欧美大码aⅴ在线播放| 成人免费高清视频| 日韩欧美国产麻豆| 伊人色综合久久天天人手人婷| 国模娜娜一区二区三区| 欧美性色综合网| 国产精品午夜在线| 久久99精品视频| 欧美性生活久久| 综合色天天鬼久久鬼色| 久久精品国产99| 欧美日韩综合在线免费观看| 国产欧美日韩三区| 美女精品一区二区| 欧美日韩专区在线| 国产精品久久久久影院老司| 秋霞av亚洲一区二区三| 色婷婷亚洲婷婷| 久久精品亚洲国产奇米99| 日韩黄色一级片| 在线视频欧美区| 国产精品乱人伦| 国产成人综合自拍| 91精品国产色综合久久不卡电影| 国产精品少妇自拍| 精品一区二区三区不卡| 欧美日韩国产综合久久 | 日韩欧美自拍偷拍| 午夜亚洲国产au精品一区二区| 99久久99久久综合| 国产女人水真多18毛片18精品视频| 亚洲一级二级在线| av电影天堂一区二区在线观看| 久久免费电影网| 美腿丝袜亚洲色图| 欧美日韩综合在线| 欧美激情一区二区三区四区| 欧美日韩一区高清| 国产一区 二区| 国产成人免费在线观看| 日韩欧美三级在线| 日韩精品乱码免费| 美女在线观看视频一区二区| 日韩视频免费直播| 欧美国产日韩在线观看| 91蝌蚪porny| 中文字幕日韩av资源站| 日本不卡在线视频| 精品奇米国产一区二区三区| 精品久久一二三区| 亚洲天堂久久久久久久| 日本美女一区二区| 国产精品嫩草久久久久| 国产白丝精品91爽爽久久| 欧美日韩成人高清| 视频一区中文字幕| 欧美日韩精品三区| 成人黄色在线看| 欧美va亚洲va| 亚洲色图欧洲色图| 欧美亚洲尤物久久| 日韩国产欧美视频| 国产精品影音先锋| 欧美xxxxxxxxx| 五月激情丁香一区二区三区| 国产麻豆精品theporn| 国产午夜亚洲精品理论片色戒| 一二三四社区欧美黄| 欧美主播一区二区三区美女| 国产精品久久久久久久久免费樱桃| 91在线你懂得| 亚洲欧洲综合另类| 国产精品一区在线观看乱码| 亚洲男人的天堂一区二区| 欧美伊人久久久久久久久影院| 精品国产乱码久久久久久牛牛| 精品视频一区三区九区| 三级影片在线观看欧美日韩一区二区| 国产成a人亚洲| 亚洲人成亚洲人成在线观看图片 | 国产精品国产三级国产aⅴ原创| 99久久综合国产精品| 国产乱淫av一区二区三区| 在线影院国内精品| 欧美成人bangbros| 不卡的av网站| 欧美日本在线播放| 久久亚洲精品小早川怜子| 日本亚洲天堂网| 欧美国产在线观看| 国产一区二区三区久久悠悠色av| 亚洲人成人一区二区在线观看| 一区二区成人在线观看| 国产精品一区在线观看乱码| 99久久免费视频.com| 2023国产精品| 国产精品久久久久久久蜜臀| 欧美人与性动xxxx| 久久综合狠狠综合| 夜夜精品浪潮av一区二区三区| 日本免费在线视频不卡一不卡二| 日韩欧美国产综合在线一区二区三区| 久久综合九色综合97_久久久| 99视频有精品| 国产欧美久久久精品影院| 亚洲精品国产成人久久av盗摄| 懂色av一区二区三区蜜臀| 欧美极品美女视频| 色综合天天综合给合国产| 国产精品情趣视频| 亚洲成国产人片在线观看| 国产成人自拍网| 国产视频一区不卡|