日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UGUI 源码之 RectMask2D、Clipping、RectangularVertexClipper

發布時間:2023/12/8 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UGUI 源码之 RectMask2D、Clipping、RectangularVertexClipper 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原圖放在我的 Processon:UGUI RectMask2D+MaskableGraphic 工作原理 | ProcessOn免費在線作圖,在線流程圖,在線思維導圖 |

一、RectMask2D 的實質

1、它的意圖是:在渲染管線的應用階段對其所有子物體進行粗粒度的裁剪和剔除。

2、它先利用?MaskUtilities 類的 GetRectMasksForClip() 方法獲取到與當前 Rectmask2D 共同實際生效的所有父 RectMask2D 列表。

3、再利用?Clipping 類對這些父 RectMask2D 的矩形取交集,得到實際生效的裁剪矩形。

4、然后,它將這個裁剪矩形遍歷地設給了其所有子?MaskableGraphic。

5、最后 MaskableGraphic?調用了?canvasRenderer.EnableRectClipping(clipRect); /?canvasRenderer.DisableRectClipping(); 和 canvasRenderer.cull = cull。(注意,最終還是對CanvasRenderer的操作)。

二、注意

1、要注意,嵌套的?RectMask2D 的遮罩結果是取交集。

具體請看?Clipping 類中的實現。

2、要注意使用獨立繪制順序的 Canvas(overrideSorting==true)對?RectMask2D 遮罩結果的影響。

RectMask2D 的遮罩會被使用獨立繪制順序的 Canvas 打斷。如:下面的情況,RectMask2D將不對 Image 生效。具體請看 MaskUtilities?類的 GetRectMasksForClip() 方法。

//---------------------------------------------------------
// --Canvas1
// ----RectMask2D
// ------Canvas2(使用獨立繪制順序)
// --------Image(clippable)
//---------------------------------------------------------

3、性能優化點

MaskUtilities 類的 GetRectMasksForClip() 方法中,兩層循環都調用了 GetComponentsInParent(),還有?IsDescendantOrSelf() 方法,其性能都和父子物體嵌套的層數有關。

三、全注釋

---------------------- NRatel 割 -------------------------------

更多 UGUI 注釋已放入??GitHub - NRatel/uGUI: Source code for the Unity UI system.。

---------------------- NRatel 割 -------------------------------

1、RectMask2D:

using System; using System.Collections.Generic; using UnityEngine.EventSystems;namespace UnityEngine.UI {[AddComponentMenu("UI/Rect Mask 2D", 13)][ExecuteAlways][DisallowMultipleComponent][RequireComponent(typeof(RectTransform))]// A 2D rectangular mask that allows for clipping / masking of areas outside the mask.// The RectMask2D behaves in a similar way to a standard Mask component. It differs though in some of the restrictions that it has.// A RectMask2D:// *Only works in the 2D plane// *Requires elements on the mask to be coplanar.// *Does not require stencil buffer / extra draw calls// *Requires fewer draw calls// *Culls elements that are outside the mask area.// 一個允許裁剪 Mask 之外區域的2D矩形Mask。// * Only works in the 2D plane. 只在2D平面中工作。// * Requires elements on the mask to be coplanar. 要求元素與Mask在同一平面。// * Does not require stencil buffer / extra draw calls. 不需要模板緩沖區 / 額外的 draw calls。// * Requires fewer draw calls. 需要較少的繪制調用。// * 刪除 Mask 區域之外的元素。public class RectMask2D : UIBehaviour, IClipper, ICanvasRaycastFilter{[NonSerialized]private readonly RectangularVertexClipper m_VertexClipper = new RectangularVertexClipper(); //矩形頂點剔除器[NonSerialized]private RectTransform m_RectTransform; // 與本 RectMask2D 關聯的 RectTransform。[NonSerialized]private HashSet<MaskableGraphic> m_MaskableTargets = new HashSet<MaskableGraphic>(); //所有受本 RectMask2D 裁剪的 MaskableGraphic 的集合。[NonSerialized]private HashSet<IClippable> m_ClipTargets = new HashSet<IClippable>(); //所有受本 RectMask2D 裁剪的 IClippable 的集合 (MaskableGraphic已除外。實際可能為空, 因為 目前實現了 IClippable 接口的只有 MaskableGraphic)。[NonSerialized]private bool m_ShouldRecalculateClipRects; //是否需要重新計算 m_Clippers(臟標記)。[NonSerialized]private List<RectMask2D> m_Clippers = new List<RectMask2D>(); //對于當前節點,自身及實際生效的所有父 RectMask2D 的列表(中間未穿插“使用獨立繪制順序”的Canvas)。[NonSerialized]private Rect m_LastClipRectCanvasSpace; //保存上次生效的、Canvas空間下的裁剪矩形[NonSerialized]private bool m_ForceClip;// Returns a non-destroyed instance or a null reference.// 返回一個未銷毀的 Canvas 或 null。// 當前所屬的 Canvas(激活狀態的)。[NonSerialized] private Canvas m_Canvas;private Canvas Canvas{get{if (m_Canvas == null){var list = ListPool<Canvas>.Get();gameObject.GetComponentsInParent(false, list);if (list.Count > 0)m_Canvas = list[list.Count - 1];elsem_Canvas = null;ListPool<Canvas>.Release(list);}return m_Canvas;}}// Get the Rect for the mask in canvas space.// 獲取 Canvas空間下的 RectMask2D 的 Rect。public Rect canvasRect{get{return m_VertexClipper.GetCanvasRect(rectTransform, Canvas);}}// Helper function to get the RectTransform for the mask.// 獲取 與本 RectMask2D 關聯的 RectTransform。public RectTransform rectTransform{get { return m_RectTransform ?? (m_RectTransform = GetComponent<RectTransform>()); }}protected RectMask2D(){}// 1、調用父類 OnEnable。// 2、m_ShouldRecalculateClipRects 設為 true(需要重新計算 m_Clippers)。// 3、在 ClipperRegistry 注冊。// 4、通知 2DMaskStateChanged(通知所有實現 IClippable 接口的子物體重新計算裁剪。protected override void OnEnable(){base.OnEnable();m_ShouldRecalculateClipRects = true;ClipperRegistry.Register(this);MaskUtilities.Notify2DMaskStateChanged(this);}// 1、調用父類 OnDisable。// 2、清空 m_MaskableTargets。// 3、清空 m_Clippers。// 4、移除 ClipperRegistry 中的注冊。// 5、通知 2DMaskStateChanged。(通知所有實現 IClippable 接口的子物體重新計算裁剪。protected override void OnDisable(){// we call base OnDisable first here as we need to have the IsActive return the correct value when we notify the children that the mask state has changed.// 我們首先在這里調用 base.OnDisable,因為我們需要 在通知子物體Mask狀態改變時,讓 IsActive 返回正確的值。// 疑問 ??? 未理解,為什么調 base.OnDisable 會影響到 IsActive。// 實際測試,某 UIBehaviour 的子類的 OnDisable 中,調用 base.OnDisable 前后,其 activeInHierarchy 和 activeSelf 均為 false。base.OnDisable();m_ClipTargets.Clear();m_MaskableTargets.Clear();m_Clippers.Clear();ClipperRegistry.Unregister(this);MaskUtilities.Notify2DMaskStateChanged(this); //會調用 GetComponentsInChildren,判斷自身及子物體是否激活。}#if UNITY_EDITOR// 1、調用父類 OnValidate。// 2、m_ShouldRecalculateClipRects 設為 true(需要重新 m_Clippers)。// 4、若當前處于激活狀態,通知 2DMaskStateChanged。protected override void OnValidate(){base.OnValidate();m_ShouldRecalculateClipRects = true;if (!IsActive())return;MaskUtilities.Notify2DMaskStateChanged(this);}#endif// 實現 ICanvasRaycastFilter 的接口// 射線投射位置是否有效public virtual bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera){if (!isActiveAndEnabled) //若未激活或未啟用,則有效(不過濾)return true;// 若激活且啟用,則檢查投射點是否在本 rectTransform 的矩形內。 在則有效。return RectTransformUtility.RectangleContainsScreenPoint(rectTransform, sp, eventCamera);}private Vector3[] m_Corners = new Vector3[4];// rectTransform 在其 Root Canvas 上的矩形private Rect rootCanvasRect{get{// 獲取 rectTransform 四個轉角的世界坐標// 4 個頂點的 返回數組是順時針的。它從左下開始,然后到左上, 然后到右上,最后到右下。// GetWorldCorners: https://docs.unity3d.com/cn/2020.1/ScriptReference/RectTransform.GetWorldCorners.htmlrectTransform.GetWorldCorners(m_Corners);if (!ReferenceEquals(Canvas, null)) //Canvas不為null{Canvas rootCanvas = Canvas.rootCanvas; //取根Canvasfor (int i = 0; i < 4; ++i)m_Corners[i] = rootCanvas.transform.InverseTransformPoint(m_Corners[i]); //將 rectTransform 的四個頂點,變換到 根Canvas 的坐標系下。}// 返回 rectTransform 在其 Root Canvas 上的矩形return new Rect(m_Corners[0].x, m_Corners[0].y, m_Corners[2].x - m_Corners[0].x, m_Corners[2].y - m_Corners[0].y);}}// 執行裁剪// 1、Canvas 為 null 時不執行裁剪。// 2、計算 m_Clippers(僅需要重新計算時)。// 3、判斷是否應該剔除。// 4、為所有子 IClippable 和 所有子 MaskableGraphic 執行裁剪和剔除。public virtual void PerformClipping(){if (ReferenceEquals(Canvas, null)){return;}//TODO See if an IsActive() test would work well here or whether it might cause unexpected side effects (re case 776771)//TODO 看看 IsActive() 在這里是否能正常工作,或者它是否會導致意外的副作用// if the parents are changed or something similar we do a recalculate here// 如果父物體發生了變化 或 類似的、導致裁剪矩形變化的情況,重新計算 m_Clippers。if (m_ShouldRecalculateClipRects){MaskUtilities.GetRectMasksForClip(this, m_Clippers); //計算 m_Clippers。m_ShouldRecalculateClipRects = false; //置回}// get the compound rects from the clippers that are valid// 用有效的 clippers 獲取疊加/復合的矩形。bool validRect = true;Rect clipRect = Clipping.FindCullAndClipWorldRect(m_Clippers, out validRect);// If the mask is in ScreenSpaceOverlay/Camera render mode, its content is only rendered when its rect overlaps that of the root canvas.// 如果 Canvas 的渲染模式為 ScreenSpaceOverlay 或 ScreenSpaceCamera,則它的內容只有在它的rect與根Canvas重疊時才會被渲染。// 即: ScreenSpaceOverlay 或 ScreenSpaceCamera 模式下,超過根Canvas的部分會直接被剔除。RenderMode renderMode = Canvas.rootCanvas.renderMode;bool maskIsCulled = (renderMode == RenderMode.ScreenSpaceCamera || renderMode == RenderMode.ScreenSpaceOverlay) && !clipRect.Overlaps(rootCanvasRect, true);//應該被剔除if (maskIsCulled){// Children are only displayed when inside the mask.// If the mask is culled, then the children inside the mask are also culled.// In that situation, we pass an invalid rect to allow callees to avoid some processing.// 只有在 Mask 內部才顯示子元素。// 如果 Mask 被剔除,那么 Mask 內的子元素也會被篩選。// 在這種情況下,可以傳遞一個無效的 rect 來讓被調用方避開一些處理。clipRect = Rect.zero;validRect = false;}//裁剪矩形變化了:if (clipRect != m_LastClipRectCanvasSpace){// 為所有子 IClippable 執行裁剪(啟用裁剪并設置裁剪矩形/關閉裁剪)。foreach (IClippable clipTarget in m_ClipTargets){clipTarget.SetClipRect(clipRect, validRect);}// 為所有子 MaskableGraphic 執行裁剪(啟用裁剪并設置裁剪矩形/關閉裁剪)。// 為所有子 MaskableGraphic 執行剔除(設置是否剔除)。foreach (MaskableGraphic maskableTarget in m_MaskableTargets){maskableTarget.SetClipRect(clipRect, validRect);maskableTarget.Cull(clipRect, validRect);}}//強制裁剪:else if (m_ForceClip){// 為所有子 IClippable 執行裁剪(啟用裁剪并設置裁剪矩形/關閉裁剪)。foreach (IClippable clipTarget in m_ClipTargets){clipTarget.SetClipRect(clipRect, validRect);}// 為所有子 MaskableGraphic 執行裁剪(啟用裁剪并設置裁剪矩形/關閉裁剪)。// 為所有子 MaskableGraphic 執行剔除(設置是否剔除)(僅 canvasRenderer.hasMoved 時)。foreach (MaskableGraphic maskableTarget in m_MaskableTargets){maskableTarget.SetClipRect(clipRect, validRect);if (maskableTarget.canvasRenderer.hasMoved) //如果發生的任何更改會使生成的幾何形狀的位置無效,則為 true。maskableTarget.Cull(clipRect, validRect);}}//裁剪矩形未變化且未強制裁剪:else{// 為所有子 MaskableGraphic 執行剔除(設置是否剔除)(僅 canvasRenderer.hasMoved 時)。foreach (MaskableGraphic maskableTarget in m_MaskableTargets){if (maskableTarget.canvasRenderer.hasMoved)maskableTarget.Cull(clipRect, validRect);}}m_LastClipRectCanvasSpace = clipRect; //保存裁剪矩形m_ForceClip = false; //強制裁剪置回}// Add a IClippable to be tracked by the mask.// 添加一個被 RectMask2D 追蹤的 IClippable。public void AddClippable(IClippable clippable){if (clippable == null)return;m_ShouldRecalculateClipRects = true;MaskableGraphic maskable = clippable as MaskableGraphic;if (maskable == null)m_ClipTargets.Add(clippable); //若 IClippable 不是 MaskableGraphic,則加入 m_ClipTargets。elsem_MaskableTargets.Add(maskable); //若 IClippable 是 MaskableGraphic,則加入 m_MaskableTargets。m_ForceClip = true;}// Remove an IClippable from being tracked by the mask.// 移除一個被 RectMask2D 追蹤的 IClippable。public void RemoveClippable(IClippable clippable){if (clippable == null)return;m_ShouldRecalculateClipRects = true;clippable.SetClipRect(new Rect(), false);MaskableGraphic maskable = clippable as MaskableGraphic;if (maskable == null)m_ClipTargets.Remove(clippable); //若 IClippable 不是 MaskableGraphic,則從 m_ClipTargets 中移除。elsem_MaskableTargets.Remove(maskable); //若 IClippable 是 MaskableGraphic,則從 m_MaskableTargets 中移除。m_ForceClip = true;}//重寫 UIBehaviour 的方法//父物體改變后(具體看UIBehaviour里的注釋),// 1、調用父類 OnTransformParentChanged。// 2、m_ShouldRecalculateClipRects 設為 true(需要重新計算 m_Clippers)。protected override void OnTransformParentChanged(){base.OnTransformParentChanged();m_ShouldRecalculateClipRects = true;}//重寫 UIBehaviour 的方法//當關聯的 Canvas 在 Hierarchy 上變化時(具體看UIBehaviour里的注釋),// 1、清除對當前所屬的 Canvas(激活狀態的)的引用。// 2、調用父類 OnCanvasHierarchyChanged。// 3、m_ShouldRecalculateClipRects 設為 true(需要重新計算 m_Clippers)。protected override void OnCanvasHierarchyChanged(){m_Canvas = null;base.OnCanvasHierarchyChanged();m_ShouldRecalculateClipRects = true;}} }

2、Clipping

using System.Collections.Generic;namespace UnityEngine.UI {// Utility class to help when clipping using IClipper.// 使用 IClipper 進行裁剪時的工具類。public static class Clipping{// Find the Rect to use for clipping.// Given the input RectMask2ds find a rectangle that is the overlap of all the inputs.// 找到用于剪切的矩形。// 輸入一個 RectMask2d 列表,找到與所有輸入矩形都重疊的矩形。(所有輸入矩形的總交集)// 參數"rectMaskParents":RectMasks to build the overlap rect from. //// 參數"validRect":Was there a valid Rect found.// 返回值:The final compounded overlapping rect.//---------------------------------------------------------------// 這個方法決定了,有多個 RectMask2d 嵌套時,是怎么處理的!//---------------------------------------------------------------public static Rect FindCullAndClipWorldRect(List<RectMask2D> rectMaskParents, out bool validRect){//列表為空,返回無效和默認Rectif (rectMaskParents.Count == 0){validRect = false; return new Rect();}Rect current = rectMaskParents[0].canvasRect; //取第一個 RectMask2D 在 Canvas空間下的 Rect。float xMin = current.xMin;float xMax = current.xMax;float yMin = current.yMin;float yMax = current.yMax;for (var i = 1; i < rectMaskParents.Count; ++i) //遍歷取交集{current = rectMaskParents[i].canvasRect; //取其他 RectMask2D 在 Canvas空間下的 Rect。//取交集:取所有RectMask2D 的 xMin 和 yMin 的最大值 和 xMax 和 yMax 的最小值。if (xMin < current.xMin)xMin = current.xMin;if (yMin < current.yMin)yMin = current.yMin;if (xMax > current.xMax)xMax = current.xMax;if (yMax > current.yMax)yMax = current.yMax;}validRect = xMax > xMin && yMax > yMin; //總交集是否有效if (validRect)return new Rect(xMin, yMin, xMax - xMin, yMax - yMin); //返回總交集elsereturn new Rect();}} }

3、RectangularVertexClipper

namespace UnityEngine.UI {internal class RectangularVertexClipper{readonly Vector3[] m_WorldCorners = new Vector3[4];readonly Vector3[] m_CanvasCorners = new Vector3[4];//獲取 t在Canvas下的 rect (包括位置和大小)public Rect GetCanvasRect(RectTransform t, Canvas c){if (c == null)return new Rect();t.GetWorldCorners(m_WorldCorners); //取t的世界坐標var canvasTransform = c.GetComponent<Transform>();for (int i = 0; i < 4; ++i)m_CanvasCorners[i] = canvasTransform.InverseTransformPoint(m_WorldCorners[i]); //將世界坐標轉為相對Canvas的local坐標//返回t在Canvas下的 rect (包括位置和大小)return new Rect(m_CanvasCorners[0].x, m_CanvasCorners[0].y, m_CanvasCorners[2].x - m_CanvasCorners[0].x, m_CanvasCorners[2].y - m_CanvasCorners[0].y);}} }

總結

以上是生活随笔為你收集整理的UGUI 源码之 RectMask2D、Clipping、RectangularVertexClipper的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久草在线视频网 | 麻花豆传媒mv在线观看 | av网站在线观看免费 | 亚洲视频免费在线看 | 黄色精品一区 | 日本一区二区三区视频在线播放 | 狠狠狠狠干 | 国产精品久久久久久麻豆一区 | 97电院网手机版 | 色噜噜日韩精品一区二区三区视频 | 成人天堂网 | 韩国三级在线一区 | 亚洲国产无 | 成人av在线播放网站 | 精品福利视频在线 | 婷婷视频在线观看 | 狠狠狠狠狠狠狠狠干 | 91香蕉视频污在线 | 天天av天天 | 91大神dom调教在线观看 | 一本到在线| 亚洲精品视频免费 | 欧美日韩在线免费观看 | 成人av观看 | 人人射人人爽 | 成人蜜桃 | 国产91免费在线观看 | 日本高清中文字幕有码在线 | 国产999精品久久久久久 | 亚洲精品视频在线播放 | 国产亚洲精品免费 | 国产在线观看不卡 | 亚洲国产中文字幕在线视频综合 | 亚洲电影成人 | 日韩精品中文字幕在线观看 | 国产午夜精品理论片在线 | www激情久久| 最近久乱中文字幕 | 免费色视频网址 | 久久艹在线| 色婷婷午夜 | 成人午夜影院 | 久久躁日日躁aaaaxxxx | 成年人免费在线播放 | 免费看一级黄色大全 | 在线小视频国产 | 精品一二三区视频 | 91精品免费视频 | www.天天射| 精品亚洲网 | 天天草综合 | 色婷婷视频在线 | 色婷婷综合视频在线观看 | 成人全视频免费观看在线看 | 国产一级二级在线播放 | 国产成人久久久久 | 欧美 日韩 视频 | 一级免费黄视频 | 欧美视频国产视频 | 久久精品成人热国产成 | 欧美伦理一区二区 | 婷婷六月丁香激情 | 一区二区视频免费在线观看 | 日韩av图片 | 久久精品久久国产 | 中文在线资源 | 99久精品视频 | 欧美aaa级片 | 在线观看av麻豆 | 99电影456麻豆 | 久久精品久久精品久久精品 | 久久欧美综合 | 亚洲人人网 | 日韩av午夜在线观看 | 久久久在线观看 | 黄色片亚洲 | 国产永久免费观看 | 欧美日本三级 | 日日草天天草 | 国产精品久久久久免费观看 | 亚洲人成人99网站 | 99精品一级欧美片免费播放 | 色网址99 | 久久久精品综合 | 国产精品毛片久久久 | 亚洲精品伦理在线 | 欧美亚洲国产精品久久高清浪潮 | 国产 视频 高清 免费 | 天天玩夜夜操 | 色综合久久久久综合99 | 全久久久久久久久久久电影 | 亚洲国产成人在线观看 | 欧美精品一区二区在线播放 | 亚洲黄色三级 | 欧美a级在线免费观看 | 久久avav | 三级在线视频观看 | 亚洲色图激情文学 | 六月丁香激情综合 | 婷婷丁香国产 | 亚洲最大成人网4388xx | 欧美综合久久久 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲免费精彩视频 | 一级片免费观看视频 | 久久综合久久综合这里只有精品 | 91在线欧美| 波多野结衣在线中文字幕 | 国产99久久久国产精品免费看 | 成人三级网址 | 亚洲无毛专区 | 色婷婷 亚洲 | 午夜久久久久久久 | 久久男女视频 | 成人免费看片98欧美 | 色丁香综合 | 91精品国产欧美一区二区成人 | 久久精品播放 | 欧美激情综合网 | 欧美性直播 | 成人久久电影 | 亚洲精品www | 97人人艹 | 日本夜夜草视频网站 | 欧美日韩三级在线观看 | 色噜噜日韩精品欧美一区二区 | 天天爽夜夜爽精品视频婷婷 | 中国一级片在线播放 | 久久精品1区| 国产在线观看av | 激情欧美在线观看 | 国产一区二区在线免费 | 91成人精品国产刺激国语对白 | 欧美日韩视频免费 | 国产高清免费av | 黄网站a| 国产美女无遮挡永久免费 | 亚洲少妇天堂 | 久久久午夜电影 | 亚洲毛片在线观看. | 国产视频一区精品 | 亚洲自拍自偷 | 插综合网| 9免费视频| av短片在线观看 | 色综合久久久网 | 亚洲经典中文字幕 | 日韩色av色资源 | 国产免费观看高清完整版 | 久久深夜福利免费观看 | 久久久影视 | av黄色国产 | 色a综合 | 久久精品一区二区三区视频 | 国产一区二区精品 | 国产午夜精品一区 | 亚洲精品mv在线观看 | 精品久久久久久久久亚洲 | 久久婷婷精品 | 狠狠狠色丁香综合久久天下网 | 97电影手机版| 免费一级特黄毛大片 | 欧美在线视频一区二区三区 | 日韩视频免费在线 | 精品福利视频在线观看 | 欧美一级日韩免费不卡 | 久久精品一级片 | 午夜性福利 | 日韩中文字| 亚洲精品videossex少妇 | 欧美色操 | 国产一区二区三区免费在线观看 | 91精彩视频在线观看 | www.人人草 | 欧美午夜久久久 | 亚洲国产精品一区二区尤物区 | 国产视频18| 国产高清视频免费在线观看 | 蜜臀av网址 | 色窝资源 | 亚洲国产美女久久久久 | 激情综合色综合久久 | 欧美亚洲国产精品久久高清浪潮 | 亚洲天堂免费视频 | 亚洲综合色播 | 亚洲aaa级| 69国产精品成人在线播放 | 免费在线观看a v | 亚洲在线成人精品 | 精品国产成人 | 午夜手机看片 | 玖玖色在线观看 | 色资源二区在线视频 | 欧美午夜激情网 | 久草在线最新视频 | 日韩大片免费在线观看 | 久久理论电影 | 成人欧美一区二区三区在线观看 | 成人在线黄色 | 正在播放日韩 | 午夜av在线 | 美女视频又黄又免费 | 免费高清男女打扑克视频 | 国产精品免费久久久久影院仙踪林 | 中文区中文字幕免费看 | 欧美精品久久久久久久 | 国产又粗又猛又爽 | 九九一级片 | 96视频在线 | 91av在线免费 | 操综合 | 中文字幕在线中文 | 99综合电影在线视频 | 午夜精品福利一区二区三区蜜桃 | 一区二区视 | 日韩在线不卡av | 三级a毛片 | 在线观看国产中文字幕 | 色国产精品一区在线观看 | 精品一区在线 | 婷婷在线免费视频 | 欧美日韩另类视频 | 国产一区二区综合 | 亚洲波多野结衣 | 狠狠色丁香婷婷综合欧美 | 国产精品九九视频 | 激情丁香5月 | 久久久99精品免费观看app | 伊人五月天婷婷 | 99亚洲国产 | 日本资源中文字幕在线 | 美女又爽又黄 | 亚洲国内精品视频 | 波多野结衣动态图 | 97超碰伊人 | 久久综合五月婷婷 | 欧美日韩另类在线观看 | 精品在线观 | 国产精品理论片 | 久久国产区 | 国产精品免费观看国产网曝瓜 | 亚洲精品乱码久久久久久 | 丝袜制服天堂 | 欧美大片在线观看一区 | 国产中文视频 | 成人免费中文字幕 | 久久免费视频一区 | 狠狠干夜夜操 | 久久久久久久久久久影院 | 97视频免费在线观看 | 亚洲一区二区观看 | 国产91在线播放 | 日韩免费看视频 | 欧美另类v| 丁香六月国产 | 久久人人爽人人爽人人 | 亚洲国产成人av网 | 国产精品久久久久久69 | 成人av日韩 | 成人精品国产免费网站 | 中文字幕你懂的 | 午夜色站 | 日韩在线视频一区 | 五月天亚洲精品 | 亚洲国产一区二区精品专区 | 成人小视频在线观看免费 | 91av大全 | aaa日本高清在线播放免费观看 | 国产在线观看99 | 色婷婷88av视频一二三区 | 久久国产区 | 92精品国产成人观看免费 | 亚洲视频,欧洲视频 | 中文字幕乱视频 | 国产麻豆精品在线观看 | 国产一级视屏 | 夜夜操网 | 福利av影院 | 亚洲 综合 激情 | 免费高清在线视频一区· | 欧美色综合天天久久综合精品 | 精品成人a区在线观看 | 久久综合久久综合九色 | 国产精品igao视频网网址 | 日韩亚洲国产中文字幕 | 不卡的av中文字幕 | 在线观看亚洲视频 | 日本大尺码专区mv | 91夫妻视频 | 久久久久国产精品厨房 | 激情电影在线观看 | 日本99久久| 成人a大片 | 午夜精品久久久久久 | 欧美韩国日本在线观看 | 午夜精品视频在线 | 在线视频 区| 超碰成人av| 狠狠的操狠狠的干 | av电影免费看 | 久99久在线 | 亚洲午夜在线视频 | 日韩高清三区 | wwwwww黄 | 国产九色91 | 蜜臀av夜夜澡人人爽人人 | 免费看一级特黄a大片 | 欧美在线不卡一区 | 深爱激情五月婷婷 | 亚洲欧美日韩一二三区 | 国产精品video爽爽爽爽 | 日韩欧美一区二区三区黑寡妇 | 欧美日韩一级视频 | 国产高清不卡av | 国产黄色大片 | 99亚洲国产 | 日韩欧美视频一区二区三区 | 成人一区不卡 | 天天射天天艹 | 91污视频在线观看 | 国产亚洲精品精品精品 | 国产资源 | 成人福利av | 欧美激情第28页 | 久久国产欧美日韩 | 69国产精品视频 | 久久96国产精品久久99漫画 | 中国一级特黄毛片大片久久 | 久久九九久久精品 | 国产糖心vlog在线观看 | 91亚洲狠狠婷婷综合久久久 | 国产玖玖在线 | 国产欧美精品xxxx另类 | 97精品久久人人爽人人爽 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 91av中文字幕 | 丁香在线观看完整电影视频 | 亚洲精品乱码久久久久久按摩 | 日韩伦理片hd | 久久免费大片 | av免费观看网址 | 69精品| www.久久色 | 日韩色区 | 日韩精品久久中文字幕 | 日韩理论片在线观看 | 日本不卡一区二区三区在线观看 | 天天爱天天操天天射 | 青春草免费视频 | 在线观看成人福利 | 福利视频区 | www.日韩免费 | 91在线视频播放 | 人人爽夜夜爽 | 久草免费电影 | 天天色综合天天 | 精品国产乱码久久久久久1区二区 | 久久99精品久久久久久三级 | 91在线porny国产在线看 | 亚洲精品国产欧美在线观看 | 成人av亚洲 | 亚洲成人精品久久 | 亚洲另类视频在线 | 久久久久久久久综合 | 久久久久久高潮国产精品视 | 色爱区综合激月婷婷 | 91精品专区 | 久久精品香蕉 | 精品国产视频在线观看 | 西西444www大胆高清图片 | 91亚·色 | 国内成人综合 | 久久综合操 | 亚洲伦理电影在线 | 91视频啊啊啊 | 人人搞人人搞 | 麻豆一区二区 | 亚洲播放一区 | 免费男女羞羞的视频网站中文字幕 | 亚洲欧美视频网站 | 亚洲狠狠操 | 黄网av在线 | 91传媒免费观看 | 天天爽夜夜爽人人爽曰av | 激情小说久久 | www久久九 | 九色91视频 | 超碰在线97国产 | 91大神电影 | 国产一级二级在线播放 | 综合在线色 | 91成人天堂久久成人 | 99精品一级欧美片免费播放 | 国产成人亚洲精品自产在线 | 国产精品久久久久久久毛片 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 天天天天天天干 | 亚洲综合欧美激情 | 久久爱导航| 一区二区电影在线观看 | 久久久免费少妇 | 国产午夜精品福利视频 | 国产精品国产三级国产aⅴ9色 | 狠狠的日日 | 国产精品女同一区二区三区久久夜 | 六月色婷 | 99精品成人 | 久久99精品国产99久久6尤 | 久久成年人网站 | 国产视频一区二区在线观看 | 国产v在线播放 | av免费看网站 | 亚洲伦理精品 | 伊人狠狠色| 97人人添人澡人人爽超碰动图 | 99国内精品久久久久久久 | 国产精品区二区三区日本 | 日韩h在线观看 | 91探花视频| 欧美少妇xxxxxx | aa级黄色大片 | 久久99精品久久久久蜜臀 | 香蕉一区| 91手机视频在线 | 高清精品久久 | 天天操天天拍 | 一级特黄aaa大片在线观看 | 国产精品久久久久久久久久尿 | 婷婷中文字幕 | 毛片网站观看 | 人人躁| 午夜精品久久久久久久久久久 | 97精品超碰一区二区三区 | 亚洲视频456 | 99久久精品免费看国产一区二区三区 | 国产高清av免费在线观看 | 精品一区二区在线免费观看 | 超级碰99| 成人一级黄色片 | 久久精品伊人 | 天天射天天搞 | 国产精品久久久久久妇 | 欧亚日韩精品一区二区在线 | 成人黄色大片在线观看 | 天无日天天操天天干 | 亚洲激情婷婷 | 91精品爽啪蜜夜国产在线播放 | 欧美激情精品久久久久 | 成人av电影在线 | 在线亚洲精品 | 国际精品网 | 免费看一级黄色大全 | 99精品在线观看 | 精品免费观看视频 | 久久不卡国产精品一区二区 | 九九久久电影 | 国产精品区二区三区日本 | 97在线视频网站 | 99国产精品久久久久老师 | 亚洲人成在线电影 | 欧美日韩高清一区 | 国产在线久草 | 亚洲国产视频a | www.福利| 亚洲精品9 | 久久免费视频在线观看 | 看片的网址| 亚洲精品国产精品99久久 | 日韩在线精品视频 | 成人黄色短片 | 亚洲最新视频在线 | 久久99精品国产99久久 | 久久不卡国产精品一区二区 | 国产h片在线观看 | 91天堂素人约啪 | 久草视频在线新免费 | 久久久久久久久久久久久久免费看 | 91高清一区 | 亚洲最大激情中文字幕 | 中文在线8资源库 | 欧美日韩国产高清视频 | 国产99中文字幕 | 精品国产一区二区三区久久久蜜月 | 亚洲精品网页 | 久久视频免费看 | 国产免费xvideos视频入口 | 91在线看视频 | 久久免费福利视频 | 欧美日韩一区二区三区免费视频 | 正在播放一区二区 | 国产精品免费观看网站 | 日本黄色大片免费看 | 日韩视频精品在线 | 免费的成人av | 最新国产在线视频 | 国产探花视频在线播放 | 日韩精品专区在线影院重磅 | 久久综合狠狠综合久久综合88 | 中文字幕av全部资源www中文字幕在线观看 | 欧美日一级片 | 99久久精品午夜一区二区小说 | 国产经典 欧美精品 | 国产免费精彩视频 | 色99之美女主播在线视频 | 尤物97国产精品久久精品国产 | 成人av片在线观看 | 九九久久精品 | 亚洲欧美激情精品一区二区 | www.av在线.com | 狠狠狠色丁香综合久久天下网 | 成人av片免费看 | 激情网综合 | 三级黄色片在线观看 | 国产剧在线观看片 | 亚洲欧美视频在线 | 久久久久女人精品毛片九一 | 国产精品福利一区 | 一区二区三区四区五区在线 | 激情开心站| 国产一区二三区好的 | 成人中文字幕在线 | 国产一卡二卡四卡国 | 亚洲精品视频在线观看免费视频 | 日p视频在线观看 | 中文免费 | 亚洲欧美日韩一级 | 国产一区在线视频播放 | 黄色av大片 | 麻豆视频在线免费观看 | 国产第一二区 | 在线视频 你懂得 | 免费看黄的 | av电影中文字幕 | 久久久国产精品人人片99精片欧美一 | 国产黄色精品视频 | av一区在线播放 | 五月天伊人 | 色多多视频在线 | 中文字幕亚洲五码 | 亚洲激情在线观看 | 色爱区综合激月婷婷 | 91视频啪| 中文国产成人精品久久一 | 精品在线一区二区三区 | 在线电影av | 四虎影视精品 | 久久男人影院 | 最近中文字幕高清字幕在线视频 | 精品福利在线 | 精品国产伦一区二区三区观看体验 | 亚洲一区二区视频在线 | 国产精品免费久久久久久 | 国产精品乱看 | 中文字幕精品一区二区精品 | 国产精品久久久影视 | 日韩在线视频看看 | 亚洲精选视频在线 | 男女男视频 | 亚州成人av在线 | 久久精品com| 国产精品久久久久久久久久免费 | 欧美日韩成人一区 | 美女免费视频观看网站 | 久久99久久99精品免费看小说 | 狠狠干综合网 | 国产亚洲精品免费 | 午夜精品久久久久久久久久久久 | 欧美日韩国产二区 | 93久久精品日日躁夜夜躁欧美 | 香蕉网在线观看 | 日韩影视大全 | 91爱爱视频 | 日本久久久久久 | 欧美坐爱视频 | 一区中文字幕 | 亚洲涩涩网 | 伊人手机在线 | 天天天色 | 亚洲视频久久久 | 久久天| 最近中文字幕高清字幕在线视频 | 在线视频你懂得 | 国内精品久久久久久久影视简单 | 国产精品久久久久9999 | 丁香婷婷激情国产高清秒播 | 久久超碰99 | 在线观看国产成人av片 | 久久日本视频 | 色.com| 国产午夜在线观看 | 不卡的av | 免费看黄在线看 | 日韩啪啪小视频 | 精品久久久久国产免费第一页 | 一区中文字幕在线观看 | 在线观看免费观看在线91 | 999热线在线观看 | 中文字幕在线观看的网站 | 亚洲另类视频在线观看 | 日本中文字幕视频 | 天天操夜夜拍 | 久久久久久久久国产 | 亚洲1区 在线 | 欧洲在线免费视频 | 亚洲一区二区三区在线看 | 国产69精品久久99的直播节目 | 99亚洲视频 | adn—256中文在线观看 | 在线观看亚洲国产精品 | 又长又大又黑又粗欧美 | 808电影免费观看三年 | 精品一区二区久久久久久久网站 | 国产高清免费 | 免费午夜网站 | 在线观看片 | 日韩av看片 | 亚洲国产影院av久久久久 | 婷婷精品在线视频 | 99热这里只有精品久久 | 在线观看的av网站 | 亚洲一区视频在线播放 | 日韩免费在线观看网站 | 欧美日韩三区二区 | 日韩特级毛片 | 97国产情侣爱久久免费观看 | av先锋中文字幕 | 久久成人国产精品一区二区 | 中文字幕高清视频 | 久久成人免费 | 久久综合亚洲鲁鲁五月久久 | 久久69精品久久久久久久电影好 | 日韩欧美精品在线 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 日韩欧美在线国产 | a天堂一码二码专区 | 日韩素人在线观看 | 国产三级午夜理伦三级 | 久久99精品国产麻豆宅宅 | 一区二区三区四区在线 | 韩国av免费 | 日本一区二区三区免费看 | 极品久久久| 欧美日韩亚洲第一页 | 久久99精品国产99久久 | 51精品国自产在线 | 99久久精品国 | 91成年人网站 | 91人人网| 国产麻豆视频在线观看 | 奇米网8888 | 九九在线高清精品视频 | 在线视频精品 | 精品久久一级片 | 在线免费黄色av | 日韩精品久久久久 | 日本色小说视频 | 美女精品久久久 | 久热久草| 国产裸体永久免费视频网站 | 美女久久久久 | 日本在线观看一区二区三区 | 婷婷久久五月 | 亚洲精品婷婷 | 国产群p视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 伊人春色电影网 | 欧美激情精品久久久 | 国产精品99精品久久免费 | 五月综合| www.午夜色.com | 在线观看完整版 | 久在线观看视频 | 插综合网| 丁香综合 | 二区三区在线 | 精品国产1区2区 | 中文字幕你懂的 | 91视频91自拍 | 97超碰在线久草超碰在线观看 | 成人av亚洲 | 婷婷午夜天 | 欧美日韩视频免费 | 久久久福利| 激情久久综合 | 97成人免费 | 国产色视频一区 | 国产1级视频 | 欧美一级片免费在线观看 | 美女网站视频色 | 伊人六月| 日韩欧美精品一区二区 | av在线专区 | 美女黄频免费 | 久久国产精品免费看 | 综合av在线| 久久久高清一区二区三区 | 91丨九色丨蝌蚪丨老版 | 欧美在线视频一区二区 | 久久av一区二区三区亚洲 | 欧美激情xxxx性bbbb | 在线观看亚洲精品 | 五月天综合婷婷 | 色婷婷免费视频 | 亚洲精品国产精品乱码不99热 | 免费 在线 中文 日本 | 激情久久久 | 二区中文字幕 | 97国产精品久久 | 亚洲精品乱码久久久久久蜜桃欧美 | 伊人影院99 | 激情视频一区二区三区 | 日韩高清一区 | 国产精品mm | 国产精品久久久久久吹潮天美传媒 | 丁香花在线观看视频在线 | 永久免费毛片 | 亚洲一区二区天堂 | 国产在线va | av在线超碰 | 69精品久久| 欧美久久九九 | 久久精品免费观看 | 国产又粗又猛又色又黄视频 | 午夜久久成人 | av成人在线网站 | 久久久夜色 | 日日夜夜免费精品视频 | 91九色综合| 久久久免费 | 亚洲色综合 | 国产1区2 | 亚洲精品在线观看av | 天堂在线视频中文网 | 日韩精品久久久久久久电影竹菊 | 五月婷婷影视 | 开心激情婷婷 | 亚洲国产精品视频 | 亚洲精品在线观看视频 | 日韩久久影院 | 亚洲蜜桃在线 | 91chinese在线 | 久久精品麻豆 | 91视频 - v11av | avhd高清在线谜片 | av电影免费 | 精品女同一区二区三区在线观看 | 久久av一区二区三区亚洲 | 免费欧美 | 日韩电影一区二区在线 | 在线成人免费av | 日韩精品视频在线观看免费 | www.国产精品 | 成人在线观看资源 | 久久一区二区三区四区 | 久久久精品欧美 | 国语麻豆 | 久久99国产一区二区三区 | 久久狠狠一本精品综合网 | 国产午夜精品一区二区三区在线观看 | 国产精品破处视频 | 337p日本欧洲亚洲大胆裸体艺术 | 在线免费视频a | 激情校园亚洲 | 欧美成人a在线 | 欧美性黑人 | 国产精品视频大全 | 成人在线播放视频 | 最新av在线网站 | 人人爽人人澡 | 免费看成人av | 五月婷婷免费 | 亚洲,国产成人av | 久久激情婷婷 | 麻豆视频免费在线播放 | 久久这里有精品 | 欧美精品中文 | 天天做天天爱夜夜爽 | 午夜精品电影一区二区在线 | 91精品国产91热久久久做人人 | 亚洲欧美日韩在线一区二区 | 人人超碰人人 | 国产精品9999 | 97人人添人澡人人爽超碰动图 | 日韩在线看片 | 91激情视频在线播放 | 色综合久久中文字幕综合网 | 久久国产精品系列 | 日韩福利在线观看 | 国产精品成人一区二区三区 | 中文字幕资源在线观看 | 色99中文字幕 | 国产精品成人一区二区三区吃奶 | 精品国产乱码久久久久久浪潮 | 国产精品99久久久精品免费观看 | 久久精品麻豆 | 久久久国产网站 | 久久久高清免费视频 | 少妇视频一区 | 97精品国产97久久久久久久久久久久 | 最新日韩在线观看视频 | 视频 国产区 | 久久精品99国产精品 | 色香天天| 精品美女在线视频 | 日韩中文字幕在线 | 欧美午夜理伦三级在线观看 | 丁香花在线视频观看免费 | 美女网站黄在线观看 | 日韩免费播放 | www.av在线.com | 亚洲精品国产精品久久99 | av在线免费网 | 亚洲色图27p| 特黄特色特刺激视频免费播放 | 欧美大码xxxx| 亚洲精品黄网站 | 日韩欧美在线一区二区 | 久久久久久国产精品美女 | 欧美久久九九 | 日韩国产欧美视频 | 夜夜躁狠狠躁日日躁视频黑人 | 一区二区不卡高清 | 夜夜高潮夜夜爽国产伦精品 | 亚洲精品国产麻豆 | 国产精品毛片久久久久久久 | 国内精品视频在线 | 丁香婷婷激情啪啪 | 国产中文字幕91 | 手机成人在线 | 超碰97免费 | 国产又粗又猛又黄又爽 | 久草视频手机在线 | 波多野结衣日韩 | 成 人 黄 色 视频 免费观看 | 美女视频国产 | 天天射日| 美女视频久久黄 | 麻豆精品传媒视频 | av在线最新 | 在线观看久草 | 国产高清成人av | 天天摸天天干天天操天天射 | 日韩三级免费观看 | 天天夜操 | 国内丰满少妇猛烈精品播放 | 9在线观看免费 | 精品久久精品久久 | 精品视频99 | 欧美久久综合 | 探花视频在线观看+在线播放 | 亚洲精品色婷婷 | 日韩r级电影在线观看 | 久久99精品国产99久久 | 免费看一级片 | 成人在线视频观看 | 黄色在线免费观看网址 | 日本久久久久久科技有限公司 | 婷婷六月久久 | 美女国产网站 | 深爱激情av | 久久精品一区八戒影视 | 国产精品久久久久久吹潮天美传媒 | 国产v亚洲v | 国产成人精品999在线观看 | 天天操天天操天天爽 | 九九日韩| 激情图片qvod| 国产区网址 | 欧美日韩国内在线 | 日韩精品在线看 | 国产精品电影一区二区 | 久久高清免费视频 | 激情图片久久 | 欧美天天综合 | 在线直播av | 国产一区精品在线 | 成人一级电影在线观看 | 久久成人麻豆午夜电影 | 国产成人91 | 亚洲一区二区视频在线 | 亚洲不卡123 | 欧美精品一区二区三区一线天视频 | 国产精品丝袜在线 | 五月天精品视频 | 色噜噜在线观看 | 最新av在线播放 | 18岁免费看片| 国产精品久久久久久麻豆一区 | 人人干人人超 | 国产一级二级视频 | 久久免费久久 | 手机av在线不卡 | 色射色| 色偷偷网站视频 | 中文国产成人精品久久一 | 国产精品国产三级国产aⅴ无密码 | 24小时日本在线www免费的 | 国产黄色观看 | 91麻豆.com | 精品国产伦一区二区三区观看方式 | 天天操狠狠操网站 | 欧美精品在线免费 | 99久久综合国产精品二区 | 97av精品| 午夜久久影视 | 久久国产经典视频 | 久久久久久草 | 97超碰人人模人人人爽人人爱 | 亚洲精品www| 丁香婷婷在线 | 日韩精品一区二区三区中文字幕 | 欧美最猛性xxxx | 91亚洲精品久久久中文字幕 | 亚洲最新视频在线 | 国产成人精品一区二区三区网站观看 | 久久精品中文字幕免费mv | 久久久久国 | 色噜噜在线观看视频 | 激情综合五月天 | 一区二区三区四区精品 | 久久精品—区二区三区 | 五月激情丁香婷婷 | 国产资源精品在线观看 | 一区二区三区四区不卡 | 婷婷av网| 91九色丨porny丨丰满6 | 伊人国产在线播放 | 日韩在线在线 | 成人av电影免费在线播放 | 97成人资源站 | 日韩在线中文字幕视频 | 亚洲精品在线观看中文字幕 | 成人黄色中文字幕 | 国产精品1区2区 | 国产在线精品一区二区三区 | 麻豆国产视频 | 免费视频久久久 | 美女一区网站 | 日韩午夜三级 | 胖bbbb搡bbbb擦bbbb| 精品国产观看 | 96久久久 | 国产亚洲精品中文字幕 | 久久综合中文字幕 | 在线播放视频一区 | 三级在线视频观看 | 精品国产伦一区二区三区观看说明 | 午夜 免费| 久久在线视频在线 | 99热手机在线观看 | 国产最新91| 草久中文字幕 | 国产精品自产拍在线观看 | 色婷婷综合五月 | 夜夜夜夜爽 | 91大神精品视频在线观看 | 91丨porny丨九色 | 91av视频免费在线观看 | 91av久久 | 韩日精品在线 | 天天天在线综合网 | 日韩视频在线一区 | 91在线看黄 | 911香蕉视频 | 欧美 日韩 性 | 亚洲欧美日韩国产一区二区 | 国产精品久久久久久69 | 中文字幕中文字幕在线中文字幕三区 | 99999精品视频| 日韩手机在线 | 人人澡人人添人人爽一区二区 | 91九色国产蝌蚪 | 国产99久久精品一区二区300 | 亚洲成人av片 | 丰满少妇在线观看网站 | 婷婷.com| 色欧美成人精品a∨在线观看 | 天天综合精品 | 中文字幕免费高清在线观看 | 成年人免费观看国产 | 在线观看视频你懂 | 国产免费区| 久久成人福利 | 久久不射电影院 | 日韩成人在线免费观看 | 国产一区在线视频观看 | 午夜色大片在线观看 | 成人精品999 | 视频 国产区 | 在线观看午夜av | 高清av中文字幕 | 丁香高清视频在线看看 | 国产一区欧美二区 | 国产精品婷婷午夜在线观看 | 国产传媒一区在线 | 国产精品一区二区三区电影 | 欧美日韩高清国产 | 国产成人一区二区三区免费看 |