免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

StrokeGen實(shí)戰(zhàn):GPU實(shí)時(shí)高質(zhì)量卡通描邊與筆畫生成管線

StrokeGen實(shí)戰(zhàn):GPU實(shí)時(shí)高質(zhì)量卡通描邊與筆畫生成管線 1. 為什么卡渲描邊是個(gè)“看起來簡單、做起來頭大”的活先聊個(gè)現(xiàn)象。我接觸過不少剛?cè)胄凶隹ㄍㄤ秩镜耐瑢W(xué)第一反應(yīng)都是“描邊嘛邊緣檢測或者反向膨脹隨便搞搞就能出效果”??烧姘秧?xiàng)目跑起來發(fā)現(xiàn)根本不是這么回事線條要么斷得一截一截要么在鏡頭快速移動(dòng)時(shí)糊成一片拖影要么模型一換就出現(xiàn)一條條莫名奇妙的噪聲線。最后被美術(shù)一句“這線有點(diǎn)臟”打回重做心態(tài)直接炸裂。這正是我想寫StrokeGen這套方案的直接原因。它的本質(zhì)是把“描邊”這件事從傳統(tǒng)的邊緣檢測思路升級成一套GPU實(shí)時(shí)、高質(zhì)量、風(fēng)格化可控的筆畫生成管線。摘開說就是靠GPU的并行能力和精心設(shè)計(jì)的多通道策略讓描邊既能實(shí)時(shí)跑又具備漫畫/動(dòng)畫質(zhì)感還允許調(diào)參控制“這筆刷到底有多粗、多硬、多連貫”。這篇內(nèi)容更適合這幾類人看正在做卡通渲染項(xiàng)目的TA技術(shù)美術(shù)、Unity/UE里寫Shader的程序員、對NPR非真實(shí)感渲染感興趣的圖形學(xué)愛好者。當(dāng)然如果你只是想知道“為什么我的描邊總拖影”“怎么提高描邊的穩(wěn)定性”這篇也會(huì)給出非常實(shí)在的排查思路。我不想講那些理論堆滿卻落不了地的概念。下面所有內(nèi)容基本都會(huì)沿著“為什么要這么設(shè)計(jì)—到底怎么寫—遇到什么坑怎么解決”這個(gè)線索來走。你可以把它當(dāng)成一篇偏實(shí)戰(zhàn)的踩坑記錄來看也可以當(dāng)作一個(gè)可以直接往自己項(xiàng)目里搬的參考實(shí)現(xiàn)。2. StrokeGen的設(shè)計(jì)思路從“描邊”到“筆畫生成”的思維轉(zhuǎn)換2.1 傳統(tǒng)邊緣檢測為何在實(shí)時(shí)渲染里不夠用先給沒怎么接觸過NPR描邊的朋友補(bǔ)個(gè)底。目前主流的卡渲描邊大體分三類幾何描邊在模型背面做反向膨脹把背面放大一圈當(dāng)描邊最早最常見優(yōu)點(diǎn)是干凈銳利缺點(diǎn)是需要額外Pass、對硬表面模型效果好但對面片、植被“不友好”。屏幕后處理描邊用深度、法線、顏色等輸入做邊緣檢測識別出邊界然后上色。優(yōu)點(diǎn)是全屏一把梭靈活性高缺點(diǎn)是線條容易“爬動(dòng)”而且相鄰像素識別不穩(wěn)定會(huì)帶來時(shí)間上的閃爍。擴(kuò)展材質(zhì)描邊把描邊信息寫進(jìn)模型頂點(diǎn)色、UV或者獨(dú)立貼圖里靠美術(shù)手工標(biāo)記質(zhì)量最高但耗時(shí)也最大。我做過幾個(gè)項(xiàng)目以后發(fā)現(xiàn)傳統(tǒng)方案最大的問題不是“畫不出邊”而是“邊不夠像一筆畫出來的”。什么叫“像一個(gè)筆畫”用人話說一條好描邊要有幾個(gè)特征連續(xù)、粗細(xì)相對穩(wěn)定、轉(zhuǎn)角處不“斷氣”、在模型和背景之間能自然過渡、運(yùn)動(dòng)時(shí)不會(huì)產(chǎn)生讓人暈眩的殘影。而深度邊緣檢測這類方案天然只關(guān)心“哪里是邊界”壓根不關(guān)心“這條邊界應(yīng)該長成什么形態(tài)”所以它的結(jié)果往往是一堆離散的、粗細(xì)不均的小段。到這一步就引出了StrokeGen的一個(gè)核心轉(zhuǎn)變我們不只做邊緣檢測而是把邊緣檢測的結(jié)果當(dāng)作輸入再走一遍“筆畫生成”的邏輯。2.2 StrokeGen到底在“生成”什么單從名字拆StrokeGen就是Stroke筆畫 Gen生成所以它不是一套簡單的描邊濾鏡。它的目的是在實(shí)時(shí)渲染里生成一條條結(jié)構(gòu)清晰、方向明確、可被參數(shù)控制的虛擬筆畫。我理解它的關(guān)鍵點(diǎn)有三層。第一層對邊緣做“方向場”的估算。我們不只是想知道某像素是不是邊緣還要知道這條邊緣在這個(gè)像素周圍是往哪個(gè)方向延伸的。方向的估算可以讓后續(xù)線條的連續(xù)性大幅提升也可以有效抑制“線條亂跳”。第二層對邊緣做“區(qū)域化”處理。傳統(tǒng)描邊是逐像素獨(dú)立判斷StrokeGen則會(huì)參考鄰域范圍內(nèi)的法線、深度、BaseColor等特征讓一條邊盡量保持整體一致。這樣是避免“同一個(gè)物體的外輪廓一半粗一半細(xì)”這個(gè)尷尬問題的關(guān)鍵。第三層把描邊結(jié)果參數(shù)化。比如線條的軟硬程度、粗細(xì)衰減、與主光源的聯(lián)動(dòng)、貼近陰影區(qū)的變色等都可以暴露成參數(shù)給美術(shù)調(diào)節(jié)。這是從“能看”到“能用”的分水嶺。你可能已經(jīng)感覺到了這套思路放到GPU上是有天然優(yōu)勢的因?yàn)檫@些計(jì)算基本都是逐像素、可并行的。而且現(xiàn)代圖形API里的Compute Shader和異步計(jì)算剛好像是為這種全屏處理準(zhǔn)備的。2.3 為什么GPU實(shí)時(shí)處理在方案里這么關(guān)鍵如果只是做離線渲染描邊想多高質(zhì)量都可以慢慢調(diào)就是了。但實(shí)時(shí)渲染不一樣。尤其是游戲、VTube、影視預(yù)演這類場景一秒鐘要輸出幾十上百幀每幀還有主場景、陰影、后處理等一大票東西搶GPU資源。StrokeGen把大量計(jì)算搬到GPU上以后就能做到幾個(gè)特別實(shí)際的效果不額外占用CPU不會(huì)拖慢游戲主線程尤其在主機(jī)和移動(dòng)端這些CPU本來就吃緊的平臺上優(yōu)勢明顯。可以實(shí)時(shí)隨著相機(jī)視角、模型變形、表情動(dòng)畫變化而更新描邊不會(huì)出現(xiàn)“線跟模型脫節(jié)”的尷尬。后處理管線天然適合全屏操作的執(zhí)行模型只需要在屏幕空間拿到深度、法線等數(shù)據(jù)就能在同一幀內(nèi)完成描邊的檢測、生成與合成基本不需要反復(fù)讀寫顯存。我自己的體會(huì)是只要條件允許描邊邏輯盡量往屏幕后處理階段平移。這樣不依賴具體模型怎么建模只要最后的法線、深度數(shù)據(jù)能合出來全屏就都能覆蓋到??扇绻阕呒儙缀蚊柽吢肪€骨骼動(dòng)畫、布料模擬和Morph Target這些一摻和進(jìn)來很容易出現(xiàn)描邊穿幫。3. 實(shí)操指南搭建一套GPU實(shí)時(shí)高質(zhì)量描邊管線3.1 管線的輸入準(zhǔn)備從G-Buffer里抓“可用特征”想實(shí)現(xiàn)StrokeGen級別的描邊第一步不是直接上邊緣檢測而是先準(zhǔn)備一份“數(shù)據(jù)足夠干凈”的緩沖區(qū)。一般情況下我們最需要的是以下幾種信息場景深度Depth用來做視野內(nèi)的幾何輪廓檢測也能判斷物體前后的遮擋關(guān)系。世界空間法線World Normal用來識別模型表面朝向的突變比如棱角、接縫。基礎(chǔ)色/材質(zhì)IDBaseColor/MaterialID用來在顏色或材質(zhì)差異很大的邊緣處補(bǔ)線。物體運(yùn)動(dòng)矢量Motion Vector雖然不是描邊必須項(xiàng)但在處理拖影問題時(shí)能幫上大忙后面我會(huì)具體講。如果你的項(xiàng)目是Unity加上URP管線那G-Buffer里其實(shí)已經(jīng)包含大部分?jǐn)?shù)據(jù)。如果是自定義管線你需要在渲染主場景的同時(shí)把這些特征單獨(dú)輸出到一張R8G8B8A8或者R16G16B16A16的RenderTexture上。一個(gè)非常實(shí)用的建議是不要把原始法線和深度直接拿來做描邊先做一個(gè)“去噪/平滑”預(yù)處理。因?yàn)楹芏嚅W爍和毛刺的表現(xiàn)都來自原始深度在物體邊緣的鋸齒、法線在凹凸細(xì)節(jié)上的高頻變化。預(yù)處理這一步可以用一個(gè)簡單的3x3或5x5空間濾波完成成本極低改觀卻很明顯。3.2 核心實(shí)現(xiàn)從邊緣檢測到“筆畫生成”的關(guān)鍵步驟接下來直接上實(shí)現(xiàn)。為了照顧不同引擎的同學(xué)我這里用類似HLSL的寫法里面只依賴最基礎(chǔ)的紋理采樣語法不依賴某個(gè)引擎的特殊函數(shù)庫。第一步重建屏幕空間坐標(biāo)和法線。如果用的是Unity內(nèi)置函數(shù)會(huì)直接給到這些值其他引擎也基本有大同小異的函數(shù)。// 從深度紋理重建世界坐標(biāo) float3 reconstructWorldPos(float2 uv, float depth) { float4 ndc float4(uv * 2.0 - 1.0, depth, 1.0); #if UNITY_UV_STARTS_AT_TOP ndc.y -ndc.y; #endif float4 worldPos mul(_InverseViewProjection, ndc); return worldPos.xyz / worldPos.w; }第二步做邊緣強(qiáng)度的計(jì)算。我這里是綜合了三種特征深度差、法線差、顏色BaseColor差。具體做法是采樣當(dāng)前像素周圍四個(gè)方向上下左右或者八個(gè)方向的鄰域計(jì)算帶權(quán)重的差異值。float4 edgeDetect(float2 uv, float2 texelSize) { float centerDepth tex2D(_CameraDepthTexture, uv).r; float3 centerNormal tex2D(_CameraNormalsTexture, uv).xyz; float3 centerColor tex2D(_MainTex, uv).rgb; float depthThreshold 0.1; // 深度差閾值視場景微調(diào) float normalThreshold 0.6; // 法線夾角閾值可暴露成參數(shù) float colorThreshold 0.15; // 顏色差閾值美術(shù)可調(diào) float edge 0.0; // 只演示上下左右四個(gè)方向?qū)嶋H可擴(kuò)展到八方向 for (int i 0; i 4; i) { float2 offset _Offset[i] * texelSize; float2 sampleUV uv offset; float sampleDepth tex2D(_CameraDepthTexture, sampleUV).r; float3 sampleNormal tex2D(_CameraNormalsTexture, sampleUV).xyz; float3 sampleColor tex2D(_MainTex, sampleUV).rgb; // 深度差異 float depthDiff abs(centerDepth - sampleDepth); // 法線差異用夾角余弦判斷 float normalDot dot(centerNormal, sampleNormal); float normalDiff 1.0 - saturate(normalDot); // 顏色差異 float colorDiff distance(centerColor, sampleColor); // 三種特征加權(quán)求和 edge smoothstep(depthThreshold, depthThreshold * 2.0, depthDiff); edge smoothstep(normalThreshold, normalThreshold * 1.4, normalDiff) * 0.8; edge smoothstep(colorThreshold, colorThreshold * 1.5, colorDiff) * 0.6; } return edge / 4.0; }這一步做完邊緣強(qiáng)度圖已經(jīng)出來了。但請注意如果你直接拿著這張圖來上色大概率會(huì)得到一條條“斷斷續(xù)續(xù)、明暗不均”的線。原因很簡單相鄰像素各自獨(dú)立做了判斷噪聲和采樣偏差被放大了。所以第三步也就是StrokeGen味道最濃的一步讓邊緣“成長”為筆畫。我們需要對邊緣強(qiáng)度圖做兩件事一是方向性模糊Directional Blur二是沿邊緣方向做連續(xù)性強(qiáng)化Upsampling / Morphological Smooth。方向性模糊的核心思路是先估算當(dāng)前邊緣的大致走向然后沿著這條走向做模糊而不是像普通高斯模糊那樣半徑均勻散開。這樣既抹平了斷裂感又不會(huì)把線條糊成一團(tuán)。方向估算有很多種算法我通常用Sobel算子先在邊緣強(qiáng)度圖上算出梯度方向然后取垂直方向作為邊緣走向。float2 sobelGradient(float2 uv, float2 texelSize) { float c tex2D(_EdgeTex, uv).r; float tl tex2D(_EdgeTex, uv float2(-texelSize.x, -texelSize.y)).r; float tr tex2D(_EdgeTex, uv float2( texelSize.x, -texelSize.y)).r; float bl tex2D(_EdgeTex, uv float2(-texelSize.x, texelSize.y)).r; float br tex2D(_EdgeTex, uv float2( texelSize.x, texelSize.y)).r; float gx (tr 2.0 * tex2D(_EdgeTex, uv float2(texelSize.x, 0)).r br) - (tl 2.0 * tex2D(_EdgeTex, uv float2(-texelSize.x, 0)).r bl); float gy (bl 2.0 * tex2D(_EdgeTex, uv float2(0, texelSize.y)).r br) - (tl 2.0 * tex2D(_EdgeTex, uv float2(0, -texelSize.y)).r tr); return normalize(float2(gx, gy)); }拿到梯度方向之后邊緣走向就是垂直方向。接著做方向性采樣把沿線方向上的邊緣強(qiáng)度累加過來讓斷線“接”上。還有一個(gè)我強(qiáng)烈建議加進(jìn)實(shí)現(xiàn)的東西亞像素精度。后處理方案最容易被人詬病的一點(diǎn)是鋸齒尤其是線條邊緣。解決辦法是在最終合成描邊顏色時(shí)對邊緣強(qiáng)度做smoothstep讓邊緣有0.5~1像素的過渡。視覺上會(huì)非常明顯地柔和下來。3.3 風(fēng)格化參數(shù)設(shè)計(jì)與調(diào)整方法StrokeGen真正比普通描邊方案靈活的地方是它把“風(fēng)格”放到了參數(shù)層。下面是我實(shí)測下來最常用的一套參數(shù)直接列成表格方便你照抄參考。參數(shù)名作用范圍推薦范圍調(diào)整說明Outline Width描邊寬度整體線寬0.5~3像素決定了線條的基礎(chǔ)粗細(xì)數(shù)值過大會(huì)讓近景看起來“黏糊糊”Edge Softness邊緣軟化線條內(nèi)外過渡0.2~1.0控制線條邊緣的羽化程度越高越柔和越低越硬朗Depth Bias深度閾值深度檢測靈敏度0.05~0.3調(diào)高則忽略微小的深度差減少地面褶皺、衣物起伏處的雜亂線條Normal Bias法線閾值法線檢測靈敏度0.4~0.8調(diào)高則只在折角明顯的結(jié)構(gòu)上畫線適合風(fēng)格化比較“干凈”的模型Color Bias顏色閾值顏色檢測靈敏度0.1~0.3當(dāng)模型貼圖色塊邊界也想出線時(shí)調(diào)低純卡通平涂可以適當(dāng)調(diào)高Stroke Smooth Iterations筆畫平滑迭代數(shù)斷線修補(bǔ)程度0~3迭代越多線越連貫但性能開銷遞增一般1~2次足夠Flow Intensity方向流動(dòng)強(qiáng)度描邊方向感0~1.0控制沿邊緣方向的采樣強(qiáng)度類似給描邊加“筆鋒”效果以我自己的項(xiàng)目為例做偏“動(dòng)漫賽璐璐”風(fēng)格時(shí)我習(xí)慣把Normal Bias打到0.7以上Color Bias壓到0.2以下這樣既能保留頭發(fā)、臉部輪廓這些關(guān)鍵結(jié)構(gòu)線又不會(huì)在鼻梁和嘴唇這種微折角上“炸出”一堆細(xì)碎線條。而做偏“歐美卡通/Graphic Novel”風(fēng)格時(shí)我會(huì)反過來把Depth Bias調(diào)低讓物體與物體交疊的邊緣更敏感同時(shí)把Edge Softness調(diào)到接近0.8得到一條粗厚但是帶有手繪暈染感的描邊。你可能會(huì)疑惑這些參數(shù)具體怎么映射到代碼里的實(shí)際就是把上一步計(jì)算的edge值與這些閾值比較再用smoothstep插值最后乘一個(gè)可調(diào)顏色或者采樣紋理作為描邊色輸出。我后面會(huì)給出一個(gè)完整的Frag函數(shù)示例。3.4 完整合成階段把描邊和主畫面疊到一起前面幾步產(chǎn)出的是一張邊緣強(qiáng)度圖這時(shí)候還差最后一步把描邊畫到主畫面上去。這里有兩種常見做法。第一種是“描邊疊加”在Post Process的最終Pass里直接用描邊顏色疊加覆蓋。這種做法適合描邊完全遮擋底色的風(fēng)格比如賽璐璐外輪廓。做法很簡單拿到描邊強(qiáng)度后用它作為alpha在描邊色和原圖之間插值。float4 frag(Varyings input) : SV_Target { float2 uv input.uv; float edge tex2D(_EdgeTex, uv).r; // 掃掉極微小的噪聲 edge smoothstep(_EdgeThreshold, _EdgeThreshold _EdgeSoftness, edge); // 描邊色和原圖疊加 float3 baseColor tex2D(_MainTex, uv).rgb; float3 outlineColor _OutlineColor.rgb; float3 finalColor lerp(baseColor, outlineColor, edge * _OutlineAlpha); return float4(finalColor, 1.0); }第二種是“描邊混合”邊緣強(qiáng)度僅僅作為一個(gè)權(quán)重疊加在原始畫面之上保留部分底色細(xì)節(jié)。這種適合描邊比較輕量的風(fēng)格。美術(shù)一般會(huì)在“描邊透明度”和“筆畫內(nèi)陰影”之間做很多微調(diào)。如果項(xiàng)目里用到了URP或HDRP你可以在Blit Renderer Feature里掛這一步。如果是舊版Built-in管線那就是往OnRenderImage里塞。無論走哪種請一定注意把描邊Pass放在后處理鏈的合適位置。我的習(xí)慣是放在色調(diào)映射之前這樣描邊既能受到后期調(diào)色的影響又不會(huì)被Bloom糊掉太多。4. 常見問題與排查技巧實(shí)錄4.1 描邊拖影問題到底怎么治“描邊拖影”這四個(gè)字我?guī)缀趺扛魩滋炀蜁?huì)在技術(shù)群里看到一次。這里的拖影分兩種表現(xiàn)一種是靜態(tài)幀里線條邊上一圈模糊殘影另一種是動(dòng)態(tài)場景里線條根部拖出長長的尾跡。先說第一種靜態(tài)拖影。排查思路其實(shí)很簡單殘影通常來自“過寬的采樣范圍”和“不恰當(dāng)?shù)臅r(shí)間累積”。你要檢查是不是在后處理時(shí)用了太大的模糊半徑尤其是方向性模糊半徑設(shè)置過高會(huì)把線條邊緣“撐”成了一片漸變。這個(gè)好解決把方向?yàn)V波的采樣半徑降下來或者把采樣次數(shù)從8降到4線條的銳度就回來了。再說第二種動(dòng)態(tài)拖影。這里十有八九是**時(shí)間性抗鋸齒TAA**的鍋。TAA會(huì)根據(jù)Motion Vector把歷史幀像素混合進(jìn)來但如果描邊像素和主場景像素的運(yùn)動(dòng)矢量不一致歷史幀里的描邊就和當(dāng)前幀的描邊錯(cuò)位形成重影。解決辦法有幾種把描邊Pass放到TAA之后或者把描邊強(qiáng)度圖也寫一份Motion Vector給TAA讓它能把描邊和畫面一起混合。把描邊輸出到單獨(dú)的RT不參與TAA累積最后再疊加到主畫面。如果描邊的運(yùn)動(dòng)矢量不好生成折中做法是降低TAA的歷史幀權(quán)重用多點(diǎn)采樣來保證穩(wěn)定。我實(shí)測下來最穩(wěn)定的做法是“描邊不參與TAA的累積只在最后合成階段和主畫面融合”。這個(gè)方案的代價(jià)是抗鋸齒后的描邊邊緣可能會(huì)出現(xiàn)一點(diǎn)階梯感所以描邊本身的亞像素平滑一定要做好。4.2 GPU狀態(tài)下畫面崩潰或D3D設(shè)備已移除熱詞里提到Unity卡渲Shader時(shí)總會(huì)有人遇到“GPU發(fā)生崩潰或D3D設(shè)備已移除”Device Removed的報(bào)錯(cuò)。這個(gè)往往不是Shader邏輯本身的鍋而是一只腳本通過后處理每幀申請了過大的RenderTexture導(dǎo)致顯存瞬間峰值或者Pass里出現(xiàn)了除以零、無限循環(huán)等讓GPU無法恢復(fù)的異常。我排查這類問題的通用路徑先用RenderDoc或PIX逐幀抓取看崩潰發(fā)生在哪個(gè)Pass、哪次DrawCall。如果抓不到就先關(guān)掉后處理和描邊再逐個(gè)Pass打開做二分定位。檢查RenderTexture的格式和尺寸確保是2的冪次或與屏幕尺寸匹配。不要每幀都新建RT盡量復(fù)用臨時(shí)RT用GetTemporaryRT也要記得Release。檢查Shader里的for循環(huán)。GPU的循環(huán)次數(shù)必須是編譯期可確定的否則會(huì)出現(xiàn)極長的循環(huán)導(dǎo)致看門狗超時(shí)。在方向性模糊里采樣次數(shù)最好用[unroll]展開或者用定長循環(huán)。檢查是否存在NaN或Inf。極端參數(shù)下normalize()一個(gè)零向量會(huì)產(chǎn)生NaN一旦NaN進(jìn)入紋理采樣結(jié)果不可控嚴(yán)重時(shí)會(huì)導(dǎo)致驅(qū)動(dòng)層崩潰。所以在Sobel方向估算那一步一定要加一個(gè)保護(hù)向量長度過小時(shí)直接返回float2(1,0)。這些都是很典型的實(shí)戰(zhàn)坑寫出來是想讓大家知道GPU崩潰不一定是你代碼寫的“不對”更多時(shí)候是“非法操作”觸發(fā)了驅(qū)動(dòng)的保護(hù)機(jī)制。穩(wěn)住心態(tài)按步驟排查就好。4.3 描邊斷裂、閃爍與“線條一會(huì)粗一會(huì)細(xì)”這類問題在動(dòng)態(tài)場景里尤其明顯。根本原因是許多邊緣檢測是“像素級獨(dú)立判斷”缺少全局一致性。StrokeGen的思路是盡量讓線條擁有“區(qū)域連續(xù)性”。排查時(shí)我建議按順序檢查下列幾點(diǎn)邊緣強(qiáng)度圖是否出現(xiàn)了大量孤立高亮點(diǎn)如果是說明當(dāng)前閾值的靈敏度太高先調(diào)Bias。方向性模糊的迭代次數(shù)是否足夠?qū)τ陂L時(shí)間持續(xù)閃爍的線條把Stroke Smooth Iterations提到2或3通常會(huì)有質(zhì)的改善。我們在屏幕空間做后處理描邊但模型在屏幕外的邊緣變化劇烈尤其是鏡頭旋轉(zhuǎn)時(shí)屏幕空間邊緣會(huì)一幀一幀地“爬”過像素。不要試圖完全消除這種爬動(dòng)更務(wù)實(shí)的是通過加入時(shí)間濾波比如用時(shí)間上的指數(shù)加權(quán)移動(dòng)平均讓線條過渡平滑。關(guān)于“線條一會(huì)粗一會(huì)細(xì)”還有一個(gè)往往被忽略的原因描邊寬度沒有根據(jù)屏幕分辨率做縮放。同一根線在1080p下占3個(gè)像素在4K下還是3個(gè)像素看起來就會(huì)“細(xì)”不少。所以建議把Width參數(shù)乘上一個(gè)分辨率歸一化系數(shù)float normalizedWidth _OutlineWidth * (1080.0 / _ScreenParams.y);這樣不同分辨率下的視覺寬度能保持基本一致。這個(gè)細(xì)節(jié)美術(shù)很少主動(dòng)提但給到項(xiàng)目里是真香。4.4 調(diào)試與性能調(diào)優(yōu)的獨(dú)家心得這部分分享幾個(gè)我實(shí)測下來很管用的調(diào)試技巧。第一描邊強(qiáng)度圖可視化。在做后處理時(shí)不要把描邊結(jié)果直接疊加到畫面里調(diào)試先在Debug模式下把邊緣強(qiáng)度圖單獨(dú)輸出為一張灰度圖。這樣你能很直觀地看到哪些線條過強(qiáng)、哪些斷裂。等到邊緣強(qiáng)度圖看起來干凈了再打開合成關(guān)卡。第二性能預(yù)算控制在1毫秒以內(nèi)。屏幕空間的描邊在1080p下我建議全屏處理控制在0.5~1ms左右中端顯卡。超過這個(gè)數(shù)就要看看是不是采樣次數(shù)太多了。一般來說四方向采樣加1次方向性模糊就夠用八方向采樣一般用于特別追求質(zhì)量的場景。在移動(dòng)端我甚至建議把方向性模糊砍掉直接用四方向采樣加上一個(gè)低成本的抖動(dòng)Dithering來模擬柔和過渡。第三異步計(jì)算有一定的優(yōu)化空間。如果描邊不依賴后處理鏈里某些中間結(jié)果可以考慮放到異步Compute Queue里跑。不過異步計(jì)算在移動(dòng)端尤其部分Adreno和Mali GPU兼容性不穩(wěn)定要用的話提前做真機(jī)驗(yàn)證。第四把描邊參數(shù)全部暴露成材質(zhì)屬性并分類做好分組。美術(shù)調(diào)參時(shí)會(huì)非常感激你。比如可以按“寬度組”“閾值組”“顏色組”“方向處理組”來劃分命名也盡量用Outline_Width這種有前綴的結(jié)構(gòu)方便在Shader里快速檢索。5. 關(guān)于GPU驅(qū)動(dòng)、平臺適配與后續(xù)擴(kuò)展的幾點(diǎn)經(jīng)驗(yàn)5.1 平臺差異PC、主機(jī)和移動(dòng)端的處理差異寫GPU描邊Shader時(shí)最怕的就是“PC上好好的一到手機(jī)上就看不清或者閃成鬼片”。原因主要有三精度、帶寬和API差異。精度方面PC桌面端通常用FP32移動(dòng)端很多GPU為了性能會(huì)把中精度FP16算得飛快。遇到深度差值很小的情況FP16的精度不夠容易導(dǎo)致邊緣檢測判斷抖動(dòng)。我的建議是在移動(dòng)端做深度差值時(shí)先對深度做一次log變換拉大近距離細(xì)節(jié)的差異再算閾值這樣能有效降低精度問題。也可以直接在Shader里用min16float來標(biāo)注允許半精度讓編譯器自己優(yōu)化。帶寬方面后處理描邊需要讀寫多張全屏貼圖這在移動(dòng)端非常吃帶寬。優(yōu)化思路是把深度、法線、顏色壓到同一張RT的各個(gè)通道里。比如用R通道存深度、G和B通道存壓縮后的法線、A通道存材質(zhì)ID這樣屏幕后處理只用綁定一張紋理帶寬開銷直接砍半。API差異方面Unity里要留意半像素偏移。在D3D平臺紋理坐標(biāo)原點(diǎn)通常在上方OpenGL/Vulkan則在下方如果后處理uv處理不當(dāng)會(huì)出現(xiàn)上下顛倒或者邊緣錯(cuò)位的問題。解決辦法是判斷UNITY_UV_STARTS_AT_TOP宏并對uv做相應(yīng)翻轉(zhuǎn)。這段代碼我在前面重建世界坐標(biāo)時(shí)已經(jīng)寫了實(shí)際項(xiàng)目里也要在采樣屏幕紋理前套用類似的兼容邏輯。5.2 與描邊相關(guān)的GPU驅(qū)動(dòng)兼容性認(rèn)知很多同學(xué)一碰到兼容性Bug就慌其實(shí)這里面有一部分是驅(qū)動(dòng)本身的毛病不是我們代碼的問題。就比如不同版本NVIDIA驅(qū)動(dòng)對同一段Demote指令的處理有差異導(dǎo)致棋盤格采樣出來的結(jié)果不同。經(jīng)驗(yàn)是盡量別用太冷門的紋理格式別依賴未定義行為。比如對同一樣本點(diǎn)做非連續(xù)的Gather或者依賴兩個(gè)像素之間的運(yùn)算順序這些都很容易踩兼容性的坑。此外在Shader里少用discard因?yàn)樗鼤?huì)打斷GPU的Early-Z和像素著色器優(yōu)化加劇描邊處渲染壓力。還有一點(diǎn)特別重要在使用任何新的圖形API特性前一定要先做目標(biāo)設(shè)備的小范圍驗(yàn)證。不是所有手機(jī)都支持Stencil后處理或Compute Shader的隨機(jī)寫入??梢韵扔煤唵蔚臏y試場景在真機(jī)上跑一遍基礎(chǔ)功能再鋪開做參數(shù)優(yōu)化。5.3 后續(xù)可以怎么擴(kuò)展StrokeGen這套思路搭好之后擴(kuò)展空間其實(shí)是很大的。比如可以在描邊圖的基礎(chǔ)上接入“筆刷紋理”通過UV映射或世界坐標(biāo)映射讓線條自帶手繪的紙紋、顆粒感也可以給描邊加入顏色漸變讓線條在靠近主光源時(shí)變暖、背光時(shí)變冷增強(qiáng)體積感和故事感還可以把它跟輪廓光、影繪等效果結(jié)合起來組成一整套日式卡渲最終表現(xiàn)方案。如果你單位里有專門的GPU算子開發(fā)角色甚至可以把方向場估算部分用Compute Shader替代Pixel Shader用更少的內(nèi)存占用和更高的緩存友好度跑出更好的性能。在移動(dòng)端追求極致性能時(shí)這通常是一步關(guān)鍵優(yōu)化。我自己就在項(xiàng)目里把描邊強(qiáng)度圖額外輸出給Bloom做深度掩碼讓發(fā)光效果只在輪廓線上出現(xiàn)。最終的效果是很“二次元”的那種發(fā)光描邊觀眾一眼就能看出風(fēng)格化但實(shí)現(xiàn)成本卻很低。類似這樣的擴(kuò)展其實(shí)還有很多值得玩的空間關(guān)鍵在于知悉管線的邊界在哪里。6. 最后再分享一點(diǎn)邊界與心得如果你要開始做自己的GPU實(shí)時(shí)卡渲描邊方案我建議你從最基礎(chǔ)的版本入手只采樣深度和法線輸出一張Untextured的純色描邊圖跑通一遍。不要一開始就上方向性模糊、Sobel、運(yùn)動(dòng)矢量那一套先把主循環(huán)跑通再逐步加料。這樣每一步出問題都能快速定位。另一個(gè)非常想強(qiáng)調(diào)的心得是描邊這個(gè)效果60%是參數(shù)調(diào)出來的30%是兼容性磨出來的只有10%是真正的算法創(chuàng)新。市場上很多看起來驚艷的卡渲效果底層用的都是很基礎(chǔ)的技術(shù)但人家在閾值、流向、模糊半徑等細(xì)節(jié)上摳得非常細(xì)。所以別小看“調(diào)參”這件事它是把技術(shù)轉(zhuǎn)化成美術(shù)表現(xiàn)最直接的一環(huán)。我踩過很多坑。印象最深的一次為了消除一個(gè)角色耳朵邊緣的描邊閃爍前后折騰了快兩天最后發(fā)現(xiàn)只是法線紋理壓縮格式的問題——高質(zhì)量法線貼圖遇到ASTC壓縮后邊緣像素出現(xiàn)了肉眼可見的偏差導(dǎo)致后處理檢測誤判。所以說碰到某些“只在高畫質(zhì)下出現(xiàn)”的詭異描邊問題時(shí)先懷疑紋理格式再懷疑Shader邏輯。這篇經(jīng)驗(yàn)如果你能用上不妨從里面挑兩三個(gè)點(diǎn)先做起來比如給描邊加分辨率歸一化比如把邊緣強(qiáng)度圖可視化成灰度圖調(diào)試。這兩個(gè)改動(dòng)很簡單但對項(xiàng)目手感和開發(fā)效率的提升立竿見影。等跑順了再慢慢往StrokeGen的方向靠。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
开心五月婷婷激情网| 婷婷五月天激情小说| 久热这里只有精品视频免费观看| 玖玖综合网| 99色精品视频| 婷五月天丁香婷五月| 玖玖午夜视频| 中文字幕性爱丰满| 六月婷婷狠狠| 丁香婷婷六月激情文学| 99亚洲视频| 99这里都是精品| 淑女丝袜bi操逼123| 手机在线日韩视频中文字幕| 99亚洲精品综合在线| 影音先锋一区| 99亚洲精品| 丁香五月婷婷六月婷| 色婷婷久久7777| 任你爽免费视频| 天天爱天天做天天爽| 天综合日日夜综合7799| 91免费试看| 99性爱| 99re鈥哸鈥唙| 五月激情久久综合网| 综合天天综合| 丁香成人五月天| 人碰人人人玩91| 伊人五月天在线| 人妻内射视频| 日本五月天激情| 色婷婷色五月色丁香| 99日本在线| 任你干线上免费视频有3吗| 99热精品免费| 激情婷婷五月天| 天天日天天插| 五月丁香福利| 激情綜合W W W,激情五月天| 深爱激情六月天| 国产激情av| 天天日天天爱天天噪| 婷婷五月天 偷拍| www.婷婷五月天.com| HD久久精品视频| 超碰cap| 粉嫩AV久久一区二区三区| 欧美婷婷日本| 五月天色五月| 国产午夜伦鲁鲁| 大香蕉人妻| 中文成人在线| 99热国产精品| 超碰在线人妻| 五月天开心色色网| 色色色色色日韩午夜激情| 国产精品第一国产精品| 精品热九九| 婷婷五月天 丁香五月天 裸体| 色色操| 久草热在线视频| AA久久| 五月婷婷激情中文字幕| 激情五月婷婷| 免费视频WWW在线观看网站| 日日夜夜天天| 婷婷丁香大香蕉| 99久久超级| 日韩久久成人| 五月天停停日日| 影音先锋偷偷色男人站| 丁香九月激情| 天天草天天日| 色色免费网站| 被强行糟蹋的女人A片| 九九热最新| 婷婷五月天av| 亚洲AV无码影院| 久久婷婷五月综合精品蜜芽| 精品无码av丁香五月激情| 九九热色视频| 思思热高清在线观看| AV操操操| 婷婷五月综合在线| 丁香五月 激情文学| 久久精品综合色| 丁香九月婷| 五月天日日操夜夜操 | 精品久久久人妻| 99热激情| 中文字幕在线免费看线人| 欧美情色电影一区二区| av网址在线| 欧美天天爽| 婷婷丁香五月视频| 综合五月丁香六月婷婷| 色色欧美。| 操操综合网婷婷| 五月婷婷黄| 亚洲免费看片| 夜夜爽天天干| 欧洲色区| 丁香五月婷婷啪| 婷婷五六月丁香| 色五月开心开心五月激情五月| 亚洲欧美999| 五月丁香花视频| 丁香久久| 五月叮香啪| 欧美丁香婷婷天天操| 深爱婷婷色| 亚洲激情97五月天| 在线观看免费人成视频无码| 人人干99| 丁香五月亚综合图片| 久久新地址| 久/久精品99看9| 玖玖爱伊人网| 色欲Av五月天| 亚洲超碰在线| 婷婷综合影院| 五月亚洲| 天天干天天日蜜臀av| 综合性爱网| 久久婷出差欧美色两性综合网| 婷婷丁香五月色| 人妻久久久久久| 综合超碰熟| 丁香六月婷婷综合色| 色永久| 五月天色五月| 日本久久高清| 久热中文字幕| 九热视频精品| 婷婷射丁香| 国外亚洲成AV人片在线观看| 人妻自慰在线| 狠狠色成人影片| 九月激情综合婷婷| 五月丁香六月婷婷操操操| www.夜夜操| 亚洲激情四射| 九九综合影音先锋| 丁香五月天激情综合网| 欧美色图片88| 99热只有国产在线精品| 在线中文AV| 人妻射精AV| 色99在线观看| 91精品在线看| 久热超碰| 99噜噜噜在线播放| 日韩无码专区| 九九在线免费观看| 九九婷婷激情综合网| 日本怕怕视频| 丰满女老板BD高清A片| 久久xxxx| 五月天伊人| 91视频一起草| 99热精品在线观看| 激情婷婷五月天网址| 五月丁香婷婷成人网| 伊人婷婷大香蕉| 色婷婷五月天激情在线观看| 丁香婷婷九月| 桃色五月天| 六月丁香网| 99热偷拍| 久99视频| 婷婷综合色播网| 色婷婷狠狠久久综合五月| 人人综合五月人人婷婷| 九九综合五月欧美| 殴美激情综合网| 99ri视频在线播放| 久热这里| 色综合色色色色色| 99视频九九热| 色5月婷婷| 激情五月,色五月| 婷婷六月激情| 五月婷婷六月基地| 爱射综合| 韩国不卡AC视频| 第五色色色婷婷| 久久天堂色| 青青草轻轻操| 天天日狠狠| 无码少妇高潮喷水A片免费| 狠狠草婷婷| 婷婷97色| 五月婷色色| 六月婷婷天天操夜夜爽视频| 婷婷在线日韩综合| 欧美久久网| 五月天婷婷色色| 九九人人操| 狠狠干青青草| 久久99久久99精品免观看粉嫩| 99在线观看精品视频| 色五月婷婷五月久久| www.99操.com| 久久99精品视频| Va另类视频| 欧美婷婷九月| h在线看免费版在线看| 伊人深爱综合| 综合激情开心五月| 色五月偷偷| 婷婷五月天久久综合88| 99综合网| 98色花堂98t.R| 99噜噜噜在线播放| 丁香五月婷婷亚洲另类| 国产精品久久久久久妇女6080| 丁香五月激情视频| 日本高清久久| 五月婷丁香久久综合| 99精品综合| 99re这里只有精品国产99| 92久久久| 国产69久久久欧美黑人A片| 婷婷五月激情天| 99久re热视频精品98| 日韩在线观看网址| 天天婷婷综合亚洲亚洲| 很很干天天干| 五月婷婷激情69| 欧美日韩国产一区二区| 天天干天天日蜜臀av| 欧美性猛交99久久久99| 色婷亚洲| 婷婷久久国产视频| 五月天激情黄色小说在线观看| 激情性爱五月天网页| 六月婷婷综合| av性爱网站| 久热2025无码| 欧美色图45678| 超碰色碰碰| 玖玖热视频| 五月综合无码| 丁香五月综合在线视频| 91色情播放| 色月视频| 久久与婷婷| 青青草原亚洲天堂| 97狠狠色| 国产免费一区二区三州老师F1F1| 色五月中文字幕| 99原创自拍视频在线观看| 夜夜撸夜夜骑| 色婷婷导航| 日本女人久久| 久99久在线| 99久热这里只有精品| 九九婷婷五月天影视| 狠狠香婷婷五月| 97超碰综合| 久久9精品视频| 啪精品| 婷婷黄色网| 五月婷婷很很色| 激情综合色五月丁香| 99在线免费观看| 狠狠插狠狠操| 成人做爰A片免费看视频| 婷婷丁香五月亚洲| 国产精品久久久久久亚洲毛片| 99ri在线视频| 久久人人添人人爽添人人片αV | 久热这里只有精品性色AV| 91刘玥视频在线观看| 精品视频网| 丁香五月婷婷亚洲另类| 婷婷永久在线| 婷婷另类开心| 久久激情五月天| 丁香婷婷婷五月| 丁香成人色情五月天| 亚洲欧美国产高清vA在线播放| 99热这里只有精品最新| 51国精产品自偷自偷综合| 婷婷免费视频| 天天精品视频免费观看| 香蕉人妻AV久久久久天天| 最近中文字幕大全免费版在线 | 黄色高清无码| 九九综合网色全集| 26UUU成人网| 亚洲综合干| 青青福利网| 五月天久久www| 色色综合色视频| 99热在线中出| 大香蕉久久草| 这里都是精品99| 成人五月天在线观看| 超碰99在线| 另类精品视频在线观看| 婷激情五月| 天天做天天摸| 97啪啪| 五月丁香在线观看| 国产永久一黄| 99视频久久| 亚洲色情久久| 亚洲精品久久久久久久久久吃药| 婷婷五月图片小说视频| 啪啪一区| 香蕉97碰碰碰欧美| 99九九中文字幕视频| 亚洲综合在线播放| 六月丁婷婷| 九九这里都是精品| 亚州色色色| 激情五月婷| 人妻丰满精品一区二区A片| 欧美黑人巨大性生话| 天天射影院| 久久久国产精品黄毛片| 97超级碰人人| 亚洲永久免费| 精品,99| 中文字幕在线播放视频| 国产亚洲精品久久久久久豆腐| 国产成人精品一区二区三区视频| 日本97人人| 97九色视频| 日日干综合| 99re热视频这里只精品5| 人人草人人舔| 亚洲午夜在线视频| 天天射综合网站| 色婷婷丁香五月天| 丁香五月天激情视频| 桃色五月天| 91丁香色五月| 99五月丁香丁| 九九色人| 曰韩五月丁香色婷婷无码| 色色亚卅| 午夜成人天堂久久无码日韩久久| AA片在线观看视频在线播放| 性天堂久久| 一本道综合网| 搡BBBB搡BBB搡18| 午夜成人在线免费视频| 日日操,日日爽| 十月丁香九月婷婷综合| 夜夜穞天天穞狠狠穞AV美女按摩| 精品思思久久| 日本视频99| AA片在线观看视频在线播放| PORNY九色9l自拍视频成人| 草美女在线观看视频在线播放| 久热 91| 99热在线观看| 99色精品视频| 久久ab| 热婷婷在线视频| 色色丁香激情五月| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久99网| 日韩AC在线免费观看| 激情小说五月天| 婷婷丁香激情综合色情| 五月天婷婷AV| 色五月综合在线| 双性美人被调教到喷水A片| 中文字幕成人网站| 五月婷婷开心亚州在线| 人妻少妇色综合| Av九九| 99无码黄色视频| 久久精彩免费视频| 天天综合图片| CHINESE熟女老女人HD视频| 天堂在线9| 色五月丁香伊人五月| 色综合色色色色色色综合| 天天日夜夜高潮| 九九九九毛片| 精品九九九久| 超碰激情五月| 五月婷婷在线免费观看 | 久久精品国产一区二区三区四区| 任你擦免费视频| 一区二区成人电影| 日韩综合网络男女香蕉a片| 国产午夜精品一区二区| 五月丁香六月色| 97人人草| 2025最新亚洲激情在线| 五月天婷婷综合网| 9999色色色色| 婷婷丁香色女人| 五月天激情久久| 色99婷婷五月天| 五月婷婷五月天| WWW·色色色·COM| 亚洲精品久久久无码| 国产日批视频| 欧美69久成人做爰视频| 久久er99| 色婷婷97| 色色草97| 女婷久久| 亚洲综合婷婷| 国产超碰人人| 天天综合天综合久久网| 日本狠狠干| 在线播放成人网站| 五月丁香本色在线观看| 天天天天天天操| 狠狠干总合| 99久99久| 色五月综合网| 综合久色五月| 色婷婷狠| 亚洲六月综合激情久久下卡| 欧美性爱中文字幕| 无码毛片992367| 婷婷五月天精品| 91啪啪| 六月丁香深深爱| 狠狠婷婷日韩| 久久五月婷6 9| 99av视频| 亚洲成人免费在线| 99热免费18| 日婷婷久久开心| 天干干夜夜操| 大香蕉人在线65| 午夜五月天| www,婷婷五月天,com| 天天摸天天肏| AV在线不卡网站| 亚洲精品午夜国产va久久成人| 丁香5月综合啪啪| 九九AV在线| 久久婷婷五月天丁香| 色99热| 插插网爽妇五月丁香| 99婷婷色| 91制片厂久久久国产电影| 五月婷婷久久久| 战争与艾拉电影免费观看| 色播婷婷五月天| 色婷婷玖玖影院| 人妻av在线| 丁香婷婷综合激情五月色| 超碰日日操| 婷婷五月天天| 婷婷激情五月呦呦| 能看的AV| 天天爽天天日| 大香蕉久久久久| 婷婷五月丁香色综合| www.婷婷,com| 色色色99韩| 五月婷婷偷拍| 五月丁香啪啪网| 九九中文字幕九| 国产一区二区av免费| 91操操| 中文字幕黄色片| 99性爱| 深爱五月天 开心网| 变态另类9| 婷婷久久久| Www99热| www.99热精品99.com| 激情婷婷丁香五月| 五月天伊人网| 欧美性猛交99久久久久99按摩| 另类视频一区| 综合色色婷婷| 97操碰视频| 亚洲AV成人在线| 五月天婷综合| 国产在线黄色| 92久久| 色综合色色| 色综合久久天天综合网| 99性视频| 五月丁香婷婷啪啪| 99热欲| 在线五月婷| 97超级碰| 99热这里只有精| 黄色三级毛片中字| 日韩精品在线观看9| 丁香六月婷婷缴情欧美| 婷婷中文字幕欧美| 久久性刺激| 久久伦乱| 色丁香五月婷婷| 五月天激情四射| 五月社区丁香| 九九99视频| 天天色天天| 婷婷涩涩五月天| 色色色图| 无码少妇高潮喷水A片免费| 97在线观看| 日本www免费九九| 色婷婷天堂| 色婷婷综合久久久久| 久久99久久99精品免视看婷| 婷婷另类开心| 国产avapp 网| 欧美日韩成人在线| 欧美一级毛卡片无码| 另类丁香综合| 亚洲中文无码成人| 丁香五月婷婷激情蜜桃| 色婷精品91| 午夜大香蕉| 狠狠色狠狠色综合日日91| 综合激情sV| 亚洲高清在线| 丁香婷婷视频在线| 99这里有精品| 五月丁香A片| 色色色区| 五月激情久久| 性爱五月婷婷| 综合激情开心五月| 五月综合激情婷婷六月色窝| 天堂网色婷婷| 丁香六月婷婷综合激情欧美 | 久操人| 9福利性视频欧美| 婷婷五月天天aV| 99热亚洲| 久久五月情| 色婷婷丁香AV综合| 99热这里是精品| 一起操 91N.com| 在线中文字幕视频| www.婷婷| 五月丁香色停停啪啪啪| 激情丰满熟妇五月| 五月婷婷综合在线| 老师的粉嫩小又紧水又多A片视频| 色v综合网| 午夜美女人啪最红院| 日韩操逼大片| 九色激情| 噜噜五月天综合| 天天色粽合合合合合合合| 婷婷激情五月天激情小说| 99在线精品观看99| www.yw色| 久99久视频| 伊人碰碰婷婷| www.99视频| 国产精品第一国产精品| 五月色婷婷亚洲| 成人网在线视频| 色色婷婷综合| 99综合婷婷五月| 色综合久| 色婷婷五月婷婷五月婷婷五月| 日韩操人| 九九热只有这里精品| 九九大香蕉黄色影院| 丁香九色不卡aaa| 天天操狠狠操| 激情五月天天| 五月天婷婷在线播放免费| 人妻av在线| 丁香蜜臀黄色婷婷五月天| 开心四月婷婷在线色播播| 久久婷婷色| 梁铮版《蜘蛛女侠》在线| 狠狠干综合| 色婷婷AⅤ| 婷婷五月天视频小说| 婷婷综合在线| 天天久久66xxx| 色综合色色| AV五月丁香| 99热精品无码| 91婷婷五月天综合视频| 无码AV免费精品一区二区三区 | 99啪| 色涩影院六月丁香| 婷婷久久草| 香蕉网久久| 五月丁香六月色| 伊人大香蕉毛片| 99热这里只有精品中文字幕| 情一色一乱一伦一91A| 欧美婷婷五月丁香| 激情综合五月天| 99热偷拍| 丁香五月天在线观看视频| 99精品综合| 色色综合无码| 精品夜夜澡人妻无码AV| 五月丁香色狠狠干大屄| 久久999久久999久久999久久| 五月婷婷婷| 日日操夜夜操无码免费| 天天干天天爽| 五月天电影网| 狠狠九九婷婷韩| 五月激情综合网| 97热在线精品| 色婷婷狠狠| a69在线视频| 国产在线网址1| 丁香激激情网| 九九99热| 艹B高清无码| 色色亚洲视频| 91偷拍视频| 婷婷久久五月天| 天天干,噜噜色,狠狠色| 色婷婷91激情小说| 91色久| 天天射射夜| 五月天堂六月丁香亚州中文字幕久久| 激情丁香五月| 亚洲欧州色情在线观看| 久久婷五月综合| 免费超碰在线观看| 国产性爱一级| 久色姿源| www狠狠| 2025超碰| 欧美色图天堂网| 天天插夜夜爽| 99啪99| 黄色高清无码| 婷婷丁香五月天激情| 97色伦另类图片小说视频| 在线看的免费网站| 婷婷丁香五月综合| 五月丁香六月婷婷网| 五月丁香久久网| 综合玖玖偷拍| 风流少妇A片一区二区蜜桃 | 色五月婷婷丁香国产在线| 婷婷五月天免费99| 99热在线播放| 激情五月天偷拍综合网| 91人妻色色网| 99热在线精品观看| 99操不停| 成人国产欧美大片一区| 婷婷中文字幕| 殴美日韩成人| 五月婷婷丁香六月| 狠狠色狠狠色综合日日91| 久久精品五月天| 丁香六月婷婷色播| 色五月丁香com| 亚洲视频操| 久久综合这里只有精品1| 五月丁香A∨在线| 精品一二三区久久AAA片| 69色婷婷| 久久与婷婷| 人妻久久久久久久久久久| wwW天天干| 99色色| 婷婷五月开心中文字幕在线| 久久激情五月婷婷| 91九色丨国产丨爆乳| 日本偷拍九九九| 久久精彩视频| 国产精品18久久久| 亚洲超碰在线| 日韩成人电影AV| 久久97| 亚洲区视频| 激情六月婷婷| 青青草tp| 成人精品人妻| 99国产精品久久久久久久久久久| 亚洲五月丁香六月婷婷| 国产午夜一区二区三区| 五月天停停基地| 天干夜夜操| 天天夜夜六月丁香五月婷婷老师| 色情·com| 婷婷永久在线| 五月婷婷插一插| 伊人六月无码视频| 亚洲bt丁香五月天婷婷激情小说| 五月天婷婷丁香视频| 丁香婷婷久久激情| 人人爱人人摸人人澡| 五月天深爱激情网| 99热无码首页| 综合久久99| 这里只有精品视频免费在线观看| 人人干人人看| 亚洲丁香花五月丁香花| 久久综合九色综合88i| 天堂二区| 激情久久久久| 欧美天天综合网站上去吧| 五月天合网| 亚洲成人色五月天| se99视频| 久久99精品久久久久久三级| 91色在线/日韩| 9久热| Av狠狠色丁香婷| 91九九九九九九| 色综合久久中文| 九九人人操| 五月天六月丁香| 开心婷婷五月天激情网| 五月天久久网站| 婷婷激情视频| 香蕉网婷婷| 亚洲影院婷婷色| 久久九九综合| 亚洲狠狠婷婷综合久久久| 色色网站| WWW.婷婷| 亚洲av综合在线| 六月丁香久久| 色婷婷丁香五月| 五月天久久小说| 欧美情月伍月天| 久久 这里只有精品1| 激情五月天在线视频| 五月天婷婷综合| 狠狠婷婷综合| 99惹在线精品免费观看| 激情五月www| 五月亭亭开心网| 操逼电影免费看| 另类色视频| 性日本精品| 26uuu最新地址| 开心五月婷婷综合在线精品素人| 九九热99re8热免费观看 | 久久99久久99精品免视看婷婷| 成人视频在线免费播放| 亚洲亚洲人成综合网络| 婷婷伊人綜合中文字幕小说| 综合网五月天123| 超碰男人色| 丁香婷婷久久五月天| 免费黄色视频网址| 99热久久这里只有精品2010| 日本熟妇乱妇熟色A片蜜桃| 97碰在线免费观看| 欧美爆乳一区二区三区| 国产婷婷五月色情综合| www五月婷婷88导航| 99精品在线观看视频| WWW,婷婷,COM| 99热这里有精品| 久久九九大香蕉电院| 国产日韩欧美性爱| 91视频久久久| 国产精品五月天婷婷| 五月婷在线| 91精品久久久久久久久| 日婷婷久久开心| 国产做爰视频免费播放| 九九精品片一| 久99久视频| 国产.亚洲.欧洲视频在线| 成人性爱精品视频| 丁香六月综合激情| 人人爱天天摸摸天天爱| WWW久久久| 日本天堂久久| 日日日影院| 天天操比比| 九热久| 天天天摸夜夜夜玩| 天天综合区| 激情婷婷人妻| 激情五月天网站| 思思热久久阴99| 99久在线精品99re8| 色欲av伊人久久大香线蕉影院| 婷婷五月天综合在线| 人妻免费网站| 色五月婷婷基地| 伊人超碰在线| 婷婷五月天天爽| 国产探花一片区| 人人操超踫| 就去色色五月丁香婷婷久久久| 天天综合图片| 五月婷婷丁香六月| 婷婷月五天在线在线看| 久久综合爱| 婷婷五月天视| 激情小说五月天| 91九色欧美| 五月婷婷中文| 激情婷婷丁香五月天小说| 婷婷中文字幕| 亚洲综合丁香婷婷六月天| 综合色色婷婷| 五月丁香六月色情网欧美| 丁香色婷婷| 26uuu亚洲欧美另类| 图片区 小说区 区 亚洲五月| 久久久妻人人人| 亚洲春色奇米影视| 色情五月天A片| 97婷婷五月激情六月丁香伊人| 99热在线只有精品| 97久久五月丁香婷婷| 色色色色综合| 欧美色色色色色色色色色色| 99在线免费视频| 五月天丁香啪啪综合| 色噜噜狠狠色综合日日| 美女天天艹人人爽| 熟妇人妻中文字幕无码老熟妇| 99成人精品| 亚洲色图啪啪| 大香蕉啪啪| 五月丁香网中文字幕| 操精品9| 六月丁香五月婷婷| 狠狠干天天内射| 丁香激情综合| 大香网伊人久久综合| 亚洲精品乱码久久久久久按摩观| 九九热九九| 涩五月丁香| 99热高清在线| 久久caop| 婷婷五月激情的图片| AⅤ色区| 丁香香蕉婷婷| 婷婷六月久久综合导航| 这里只有免费的精品| 天堂网色色| 亚洲欧洲中文日韩久久AV乱码| 夜夜操天天爽| 9久久久久久久久久久| 超碰人妻公开在线| 亚洲综合五月| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 久久精品性爱视频,| 色婷婷亚洲综合av| 99亚洲天堂| 久久婷婷色丁香| 91成人视频| 色一色综合| 99网| 亚洲这里只有精品| 超碰在线人人| 97AV人人插人人操| 丁香五月成人| 原琪琪色影院| 九九久久五月天综合伊人| www.激情| 97碰碰人人视频| 五月香婷婷| 97狠狠色| 免费观看欧美成人AA片爱我多深| 激情五月综亚网| 激情视频91| 丁香五月婷婷亚洲激情四射| 99热日本| 99热最新| 超碰日日操| 婷婷日欧美在线观看| 亚洲综合激情五月| 激情五月深爱五月| 久99久视频| 欧美日韩91| 26uuu亚洲| 婷婷五月天六点丁香五月| 婷婷6月综合网| 99自拍视频| 久久大香免费| 久久影视婷婷五月| 99在线视频操999| 婷婷丁香五月天激情| 伊人婷婷五月天| 五月婷在线观看| 99精品色| 99热这里有精品| 五月婷婷激情综合拍| 婷婷涩五月天综合| 激情婷婷丁香色五月综合| 一區四區歐美日韓| 婷婷色五月噜噜| 久久久久久激情| 五月大香蕉| 国产97色在线| 五月天综合网| 91网站黄| 亚洲av网站| 日本WWW九九九| 开心五月婷婷婷美女| 曰本aaaaaa丈片| 日本色色网| 人妻丰满精品一区二区A片| 精品乱码久久久久| 日本欧美成人片AAAA| 婷婷成人五月天成人文学| 涩五月婷婷| 五月天成人综合| 亚洲亚洲人成综合网络| 伊人激情| 激情小说在线视频| 色色色色色色网| 五月丁香六月欧美综合网站| 亚洲操操操| 99操| 亚洲成人丁香花| 丁香婷婷五月天成人| 婷婷五月天丁香久久| 五月婷丁香久久综合| 五月婷婷天堂| 任我肏| 五婷婷六月合| 婷婷五月丁香五月天| 日日操夜夜爽白洁| 色综合xx| 玖玖九九99| 免费亚洲婷婷| 五月天狠狠色| 丁香婷婷啪啪| 国产精品A成V人在线播放| 五月丁香婷婷伊人日韩| 中文超碰视在线| 色婷婷伊人| www.日本久久videos| Jh7Uf088VHafNm| 这里只有精品9| 激情5月婷婷狠狠干| 五月天综合在线观看| 亚洲国产精品VA在线看黑人| 婷婷欧美| 婷婷丁香综合网| 超碰色婷婷| 六月婷婷成人| www.99热视频| 99综合| 337久久| 97碰碰视频| 丁香五月亭亭六月综合激情网| 日本ww亚洲| 五月婷婷综合网| 欧美精品999| 丁香五月婷婷av影院| 六月丁香啪啪啪| 丁香五月aV| 97干网站| 国产在线aaa片一区二区99| 91se在线观看| 天天做天天视天天谢| 天天爽天天摸天天爱| 超碰操网| 亚洲综合欧美色丁香婷婷888月图片 | XX久久| 精品一二三区久久AAA片| 五月天激情综合网| 无码毛片992367| 深爱激情网综合| 97干在线| 99热在线看| 五月婷婷久久爱| 五月丁香婷草| 五月丁香花激情啪啪网| 操一区| 国产九九一区二区三区| 久久久久9| 狼友视频在线观看18| 天天干天天操天天干天天操天天干天天操| 婷婷五月伦理网站| 亚州色色色| 成人在线视频网| 九月影院義母在线播放| 99热这里只有精品50| 色噜噜狠狠色综合日日| 亚洲婷婷丁香五月| 99精品在线下载| 丁香啪啪| 色婷婷婷婷| 99热这里只有精品22| 久久五月婷天天干| 九九色精品| 91超碰在线观看| 99日本视频在线观看专区| 人人爽人人爽人人爽人人爽| 婷婷伊人网| 综合视频久久| 久热视频这里只有精品| 91午夜婷婷狠狠久久综合9色| 色婷婷综合久久久久| 激情九色| 99热香港| 久久机热思思热| 欧美韩国日本| 秋霞学生妹一二级| 日本99久久| 黄色片区子| 亚洲色频| 在线观看免费狠狠色丁香香综合| 影音先锋 婷婷| 色五月丁香A欧美com| 99热这里有精品6| 俺去也婷婷| 久久99婷婷| 综合婷婷久久| 538任你爽视频不一样的| 成人免费高清在线播放| 亚洲传媒在线观看| 五月天色丁香| 伊人大香蕉爱聚| 五月婷婷天| 五月停性愛| 婷婷激情社区| 婷婷六月偷拍| 五月天天久久香| www.91AV.COM| 91久久五月天| 伊人超碰在线| 五月婷婷色| 狠狠干婷婷| www久久99| 思思热99er在线视频| 天天五月天综合网址| 五月丁香亭亭A片| 天天操综合网| 国产91九色| 强伦轩人妻一区二区电影| 99碰碰视频| 久久9视频| 亚州精品色情在线观看| 婷婷丁香九色| 婷婷激情五月综合在线视频| 亚洲无码AV片| 996er热| 色噜噜狠狠色综合无码久久欧美| 午夜成人网站在线观看| 欧美大奶熟女噜噜噜噜| 丁香五月天堂网| 夜夜操天天爽| 9操在线| 五月天色五月| 天天cha成人综合网| 5五月综合网亚洲| 99久久久99久久91熟女| 色婷婷影视99| 99热这里只有精品1025| 丁香五月成人论坛| 久久色大香蕉| 思思99久久| 精品久色| 夜色热久| 五月天播播| 五月天激情偷拍| 麻豆观看夏晴子| 98色花堂98t.R| 综合九九久久| 人妻久久久| 狠狠色综合精品视频在线| 久草九九| 国产精品久久久久久久久久免费 | 免费无码毛片一区二区A片| 天天日天天干天天操| 插逼综合网| 五月停性愛| 久久久久er热| 99在线视频精品| 人人干99| 91狠狠综合久久久久久| 激情五月婷婷在线观看| 五月天色婷婷激情综合| 婷色天堂| 激情综合网五月天| 五月综合婷婷久久在线| 九九综合| 天天碰夜夜操| 国产成人网| 丁香花五月天| 曰曰久久| 婷婷综合视频| 开心激情综合| 狠狠色性| www五月天com| 午夜伊人大香蕉| 六月婷久久| 丁香五月天的网址。| 狠狠se| 大香蕉福利导航| 婷婷 丁香 精品| 欧美天天五月丁香免费观看| 久久婷婷五月天蜜桃| 免费做A爰片77777| 国产 亚洲 在线| 无码婷婷五月天| 这里只有视频精品| 97伊人综合婷婷| www.99riav99| 风流少妇A片一区二区蜜桃| 丁香六月欧美| 丁香五月天天高清在线| 韩国天天婷婷| 六月 丁香 视频| 日韩黄黄| 超碰69天堂| 久久久国产精品黄毛片| 色老久久| 在线观看亚洲AV| 天天舔天天摸天天透| 激情婷婷丁香色五月综合| 丁香五月婷婷六月婷婷| 精品九九九久| 久操操| 色五月综合网| 99九九在线精品热动漫| 性爱久久| 99热这里只有精| 成年人99热| 我要射综合| 三级大香蕉网| 亚洲小视频免费观看| 青青草性爱视频| 日日夜夜狠狠婷婷色| 亚洲AVDVD| 亚洲视频国产一区| 亚洲丁香五冃97色| 99啪啪| 国外亚洲成AV人片在线观看| 婷婷五月激情图片| 久热大香蕉| 性爱久久| 99热久草| 超碰国产在线| 激情婷婷丁香五月天| 超碰色综合| 深爱婷婷网| 色激情五月| 操碰91| 久久久久久97| 99久热这里只有精品| 久久草中文日韩欧美| 亚洲色99| 亚洲欧洲中文日韩久久AV乱码| 五月激情天| 中文字幕 中文字幕明步| www超碰| 苗黎美女四级成人版一级二级毛片| 五月成人丁香av91| 丁香五月欧美婷婷综合| 中文在线视频久9| 国产干逼片| 91久久电影| 噜噜噜噜噜久| 久久久久久久综合狠狠综合| 五月婷成人网| 久色成人| 日日色综合| 婷婷丁香五月亚洲| 久久性爱视频网站| 99ree6| 色就色94欧美setu| 99狠狠操一| 成人噜噜网| www色婷婷久久综合久色 | 风流少妇A片一区二区蜜桃 | 在线视频99| 久久视网36| 亚洲午夜Av| www.夜夜操.con| 五月天婷婷丁香社区| 99热官网精品在线| 日日综合网| 亚洲亚洲人成综合网络| 五月婷婷黄色网址| 国产免费AV在线| 这里只有精品视频222| 香蕉久久av一区二区三区| 精品少妇人妻AV无码专区偷人 | 久久9久久| 亚洲色涩视频| 天天婷婷| 99热99久久| 男人先锋久久| 97视频.干com| 快乐激情五月色婷婷| 丁香婷婷激情网站| 五月丁香激情综合啪啪| 天天日天天爽| 婷婷va| 97资源碰碰在线| 激情综合网,婷婷五月天| 色情五月天丁香社区| 欧美日韩欧美| 四季日韩AV无码综合| 只有精品在线观看| 天天日天天干天天爱| 日本在线va| 一本大道熟女人妻中文字幕在线| 国产精品成av人在线视午夜片| 色婷婷网| 色五月婷婷丁香五月| 婷婷伊人网| www.婷婷五月天,com| 亚洲国产成人在线| 天天添天天摸天天天天做| 六月丁香久久| 91人妻九色大屁股| 久久五月天精品视频| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 99综合免费视频| 91久久人人操| 亚洲一区二区无遮挡A片| 五月丁香天天| 天天爽天天日| 日韩成人影片在线观看| 678五月丁香亚洲综合| 97人人射| 久9热在线免费观看| www.日日夜夜| 亚洲午夜AV| 69精品无码一区二区三区| 亚洲无码成人性爰网| 久草五月天| 亚洲色五月婷婷| 日韩人妻操逼视频| 五月婷婷偷拍| 人人操人人添人人摸97| 99人人操人人摸| 九九人人操| 人人综合久| 久久99热免费最新版| 噼里啪啦在线观看免费完整版视频| 久久精典| 九九AV在线| 一级韩国产精品毛| 亚州性爱99| 九九爱激情| 少妇丁香婷婷| 五月丁香啪啪啪| 综合激情婷婷| 另类激情综合| 97久久五月丁香婷婷| 亚洲色视频| 字幕网AV中文字幕| 亚洲五月天综合| 日本人妻伦在线中文字幕| 狠狠色狠狠爱| 九九99久久| 2013AV天堂| 极品五月天| 97碰精品| 日日夜夜狠狠操| 五月天婷婷综合色| 99青青草| 97操碰人人|