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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

發布時間:2025/3/20 编程问答 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自馮樂樂的《Unity Shader入門精要》

通常來講,我們要模擬真實的光照環境來生成一張圖像,需要考慮3種物理現象。

首先,光線從光源中被發射出來。

然后,光線和場景中的一些物體相交:一些光線被物體吸收了,而另一些光線被散射到其他方向。

最后,攝像機吸收了一些光,產生了一張圖像。

?

在光學中,我們使用輻照度來量化光。對于平行光來說,它的輻照度可通過計算在垂直于l的單位面積上單位時間內穿過的能量來得到。在計算光照模型時,我們需要知道一個物體表面的輻照度,而物體表面往往是和l不垂直的,我們可以使用光源方向l和表面法線n之間的夾角的余弦值來得到。需要注意的是,這里默認方向矢量的模都為1。下圖顯示了使用余弦值來計算的原因。

因為輻照度是和照射到物體表面時光線之間的距離d/cosθ 成反比的,因此輻照度就和cosθ 成正比。cosθ 可以使用光源方向l和表面法線n的點積來得到。這就是使用點積來計算輻照度的由來。


光照由光源發射出來后,就會與一些物體相交。通常的結果又兩個:散射和吸收。

散射只 改變光線的方向,但不改變光線的密度和顏色。而吸收只改變光線的密度和顏色,但不改變光線的方向。光線在物體表面經過散射后,有兩種方向:一種將會散射到物體內部,這種現象被稱為折射或投射;另一種將會散射到外部,這種現象被稱為反射。對于不透明物體,折射進入物體內部的光線還會繼續與內部的顆粒進行相交,其中一些光線最后會重新發射出物體表面,而另一些則被物體吸收。那么從物體表面重新發射出的光線將具有和入射光線不同的方向分布和顏色。下圖給出了這樣的例子:


為了區分這兩種不同的散射方向,我們再光照模型中使用了不同的部分來計算它們:高光反射部分表示物體表面是如何發射光線的,而漫反射部分則表示有多少光線會被折射、吸收和散射出表面。根據入射光線的數量和方向,我們可以計算出射光線的數量和反向,我們通常使用出射度來描述它。輻射度和出射度之間是滿足線性關系的,而它們之間的比值就是材質的漫反射和高光反射屬性。

在本章中,我們假設漫反射部分是沒有方向性的,也就是說,光線在所有方向上是平均分布的,同時,我們也只考慮某一個特性方向上的高光反射。

?

著色指的是,根據材質屬性(如漫反射屬性等)、光源信息(如光源方向、輻照度等),使用一個等式去計算沿某個觀察方向的出射度的過程。我們也把這個等式稱為光照模型。不同的光照模型有不同的目的。例如,一些用于描述粗糙的物體表面,一些用于描述金屬表面等。

?

我們已經了解了光線在和物體表面相交時會發生哪些現象。當已知光源位置和方向、視角方向時,我們就需要知道一個表面是和光照進行交互的。例如,當光線從某個方向照射到一個表面時,有多少光線被反射?反射的方向有哪些?而BRDF 就是用來回答這些問題的。當給定模型表面上的一個點時,BRDF 包含了對該點外觀的完整的描述。在圖形學中,BRDF 大多使用一個數學公式來表示,并且提供了一些參數來調整材質屬性。通俗來講,當給定入射光線的方向和輻照度后,BRDF可以給出在某個出射方向上的光照能量分布。后面說的BRDF都是對真實場景進行理想化和簡化后的模型,也就是說,它們并不能真實地反應物體和光線之間的交互,這些光照模型被稱為經驗模型。盡管如此,這些經驗模型仍然在實時渲染領域被應用了多年。

?

標準光照模型只關心直接光照,也就是那些直接從光源發射出來照射到物體表面后,經過物體表面的一次反射直接進入攝像機的光線。

它的基本方法是,把進入到攝像機內的光線分為4個部分,每個部分使用一種方法來計算它的貢獻度。這4個部分是:

1)自發光部分。這個部分用于描述當給定一個方向時,一個表面本身會向該方向發射多少輻射量。需要注意的是,如果沒有使用全局光照技術,這些自發光的表面并不會真的照亮周圍的物體,而是它本身看來更亮了而已。

2)高光反射部分。這個部分用于描述當光線從光源照射到模型表面時,該表面會在完全鏡面反射方向散射多少輻射量。

3)漫反射部分。這個部分用于描述,當光線從光源照射到模型表面時,該表面會向每個方向散射多少輻射量。

4)環境光部分。它用于描述其他所有的間接光照。

?

雖然標準光照模型的重點在于描述直接光照,但在真實的世界中,物體也可以被間接光照所照亮。間接光照指的是,光線通常會在多個物體之間進行反射,最后進入攝像機,也就是說,在光線進入攝像機之間,經過了不止一次的物體反射。

在標準光照模型中,我們使用了一種被稱為環境光的部分來近似模擬間接光照。環境光的計算非常簡單,它通常是一個全局變量,即場景中的所有物體都使用這個環境光。下面的等式給出了計算環境光的部分:

?

光線也可以直接由光源發射進入攝像機,而不需要經過任何物體的反射。標準光照模型使用自發光來計算這個部分的共享度。它的計算也很簡單,就是直接使用了該材質的自發光顏色:

通常在實時渲染中,自發光的表面往往并不會照亮周圍的表面,也就是說,這個物體并不會被當成一個光源。Unity 5 引入的全新全局光照系統則可以模擬這類自發光物體對周圍物體的影響。

?

漫反射光照是用于對那些被物體表面隨機散射到各個方向的輻射度進行建模的。在漫反射中,視角的位置是不重要的,因為反射是完全隨機的,因此可以認為在任何反射反向上的分布都是一樣的。但是,入射光線的角度很重要。

漫反射光照符合蘭伯特定律:反射光線的強度與表面法線和光源方向之間的夾角的余弦值成正比。因此,漫反射部分的計算如下:

其中,n是表面法線,I是指向光源的單位矢量,m(diffuse)是材質的漫反射顏色,c(light)是光源顏色。需要注意的是,我們需要防止返現和光源方向點乘的結果為負值,為此,我們使用取最大值的函數來將其截取到0,這可以防止物體被從后面來的光源照亮。

?

這里的高光反射是一種經驗模型,也就是說,它并不完全符合真實世界中的高光反射現象。它可以用于計算那些沿著完全鏡面反射反向被反射的光線,這可以讓物體看起來是由光澤的,例如金屬材質。

計算高光反射需要知道的信息比較多,如表面法線、視角方向、光源方向、反射方向等。我們假設這些矢量都是單位矢量,下圖給出了這些方向矢量。

在這四個矢量中,我們實際上只需要知道其中3個矢量即可,而第4個矢量——反射方向可以通過其他信息計算得到:

這樣,我們就可以利用Phong模型來計算高光反射的部分:

其中m(gloss)是材質的光澤度,也被反稱為反光度。它用于控制高光區域的“亮點”有多寬,m(gloss)越大,亮點就越小。m(spscular)是材質的高光反射顏色,它用于控制該材質對于高光反射的強度和顏色。c(light)則是光源的顏色和強度。

和上述的Phong模型相比,Blinn提出了一個簡單的修改方法來得到類似的效果。它的基本思想是,避免計算反射方向。為此,Blinn模型引入了一個新的矢量,如下:

然后,使用n和h之間的夾角進行計算,而非v和r之間的夾角,如下圖所示:

總結一下,Blinn模型的公式如下:

在硬件實現時,如果攝像機和光源距離模型足夠遠的話,Blinn模型會快于Phong模型,這是因為,此時可以認為V和I都是定值,因此h將是一個常量。但是,當V或者I不是定值時,Phong模型可能反而更快一些。需要注意的是,這兩種光照模型都是經驗模型,也就是說,我們不應該認為Blinn模型是對“正確的”Phong的近似。實際上,在一些情況下,Blinn模型更符合實驗結果。

?

上面,我們給出了基本光照模型使用的數學公式,那么我們再哪里計算這些光照模型呢?通常來講,我們有兩種選擇:在片元著色器中計算,也被稱為逐像素光照;在頂點著色器中計算,也被稱為逐頂點光照。

在逐像素光照中,我們會以每個像素為基礎,得到它的法線,然后進行光照模型的計算。這種在面片之間對頂點法線進行插值的技術被稱為Phong著色,也被稱為Phong插值或者法線插值著色技術。這不同于我們之前講到的Phong光照模型。

與之相對的是逐頂點光照,也被稱為高洛德著色。在逐頂點光照中,我們在每個頂點上計算光照,然后會在渲染圖元內部進行線性插值,最后輸出成像素顏色。由于頂點數目往往小于像素數目,因此逐頂點光照的計算量往往要小于逐像素光照。但是,由于逐頂點光照依賴于線性插值來得到像素光照,因此,當光照模型中有非線性的計算(例如計算高光反射時)時,逐頂點光照就會出問題。而且,由于逐頂點光照會在渲染圖元內部對頂點顏色進行插值,這會導致渲染圖元內部的顏色總是暗于頂點處的最高顏色值,這在某些情況下會產生明顯的菱角現象。

?

在標準光照模型中,環境光和自發光的計算是最簡單的。

在Unity 5中,場景中的環境光可以在Window -> Lighting -> Ambient Source / Ambient Color / Ambient Intensity 中控制,如下圖所示。在Shader 中個,我們只需要通過Unity 內置變量 UNITY_LIGHTMODEL_AMBIENT 就可以得到環境光的顏色和強度信息。而大多數物體是沒有自發光特性的,因此在本書絕大部分的Shader 中都沒有計算自發光部分。如果要計算自發光也非常簡單,我們只需要再片元著色器輸出最后的顏色之前,把材質的自發光顏色添加到輸出顏色上即可。

?

在漫反射公式中可以看出,要計算漫反射需要知道4個參數:入射光線的顏色和強度,材質的漫反射系數,表面法線以及光源方向。

為了防止點積結果為負值,我們需要使用max操作,而CG提供了這樣的函數。在本例中,使用CG的另一個函數可以達到同樣的目的,即saturate函數。

函數:saturate(x)

參數:x 為用于操作的標量或矢量

描述:把 x 截取在[0, 1]范圍內,如果 x 是一個矢量,那么會對它的每一個分量進行這樣的操作。

?

實踐:逐頂點光照

效果如下圖:

1)在Unity 中新建一個場景。在Unity 5.2 中,默認情況下場景將包含一個攝像機和一個平行光,并且使用了內置的天空盒子。在Window -> Lighting -> Skybox 中去掉場景中的天空盒子。

2)新建一個材質

3)新建一個Unity Shader。把新的Shader賦給第2步中創建的材質

4)在場景中創建一個膠囊體,并把第2步中的材質賦給該膠囊體

5)保存場景

接下來我們編寫自己的Shader來實現一個逐頂點的漫反射效果

?

  • Shader?"Unity?Shader?Book/Chapter?6/Diffuse?Vertex-Level"??
  • {??
  • ??Properties??
  • ??{??
  • ????//用來控制材質的漫反射顏色??
  • ????_Diffuse?("Diffuse",?Color)?=?(1,1,1,1)??
  • ??}??
  • ????
  • ??SubShader??
  • ??{??
  • ????Pass??
  • ????{??
  • ??????//LightMode?標簽是Pass標簽的一種,它用于定義該Pass在Unity的光照流水線中的角色。??
  • ??????Tags?{"LightMode"?=?"ForwardBase"}??
  • ????????
  • ??????CGPROGRAM??
  • ??????#pragma?vertex?vert??
  • ??????#pragma?fragmentfrag??
  • ????????
  • ??????//為了使用Unity內置的一些變量而包含內置文件??
  • ??????#include?"Lighting,cgnic"??
  • ????????
  • ??????//為了在Shader中使用Properties語義塊中聲明的屬性,我們需要定義一個和該屬性類型相匹配的變量??
  • ??????//通過這樣的方式,我們就可以得到漫反射公式中需要的參數之一——材質的漫反射屬性。??
  • ??????//由于顏色屬性的范圍在0到1之間,因此我們可以使用fixed精度的變量來存儲它。??
  • ??????fixed4?_Diffuse;??
  • ????????
  • ??????//頂點著色器的輸入結構體??
  • ??????//為了訪問頂點的法線,我們需要再a2v中定義一個normal變量,并通過使用NORMAL語義來告訴Unity??
  • ??????//要把模型頂點的法線信息存儲到normal變量中。??
  • ??????struct?a2v??
  • ??????{??
  • ????????float4?vertex?:?POSITION;??
  • ????????float3?normal?:?NORMAL;??
  • ??????};??
  • ????????
  • ??????//頂點著色器的輸出結構體(同時也是片元著色器的輸入結構體)??
  • ??????//為了把在頂點著色器中計算得到的光照顏色傳遞給片元,我們需要再v2f中定義一個color變量,且并不是必須使用COLOR語義??
  • ??????struct?v2f??
  • ??????{??
  • ????????float4?pos?:?SV_POSITION;??
  • ????????fixed3?color?:?COLOR;??
  • ??????};??
  • ????????
  • ??????v2f?vert(a2v?v)??
  • ??????{??
  • ????????//定義返回值o??
  • ????????v2f?o;??
  • ????????//頂點著色器最基本任務就是把頂點位置從模型空間轉換到裁剪空間中,因此需要用矩陣來進行變換??
  • ????????o.pos?=?mul(UNITY_MATRIX_MVP,v.vertex);??
  • ????????//我們通過Unity的內置變量UNITY_LIGHTMODEL_AMBIENT?得到了環境光部分??
  • ????????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ??????????
  • ????????//然后開始真正計算漫反射光照部分,首先我們已經知道了材質的漫反射顏色_Diffuse以及頂點法線v.normal。??
  • ????????//我們還需要知道光源的顏色和強度信息以及光源方向。Unity提供了我么一個內置變量_LightColor0來訪問該Pass處理的光源的顏色和??
  • ????????//強度信息(注意,想要得到正確的值需要定義合適的LightMode標簽),??
  • ????????//而光源方向可以由_WorldSpaceLightPos0?來得到。需要注意的是,這里對光源方向的計算并不具有通用性??
  • ??????????
  • ????????//在計算法線和光源方向之間的點積時,我們需要選擇它們所在的坐標系,只有兩者處于同一坐標空間下,它們的點積才有意義。??
  • ????????//在這里,我們選擇了世界坐標空間。而由a2v得到的頂點法線是處于模型空間下的,因此我們首先需要把法線轉換到世界空間中。??
  • ????????//在第4章中,我們已經知道可以使用頂點變換矩陣的逆轉置對法線進行相同的變換,因此我們首先得到模型空間到世界空間的??
  • ????????//變換矩陣的逆矩陣_World2Object,然后通過調換它在mul函數中的位置,得到和轉置矩陣相同的矩陣乘法。??
  • ????????//由于法線是一個三維矢量,因此我們只需要截取_World2Object的前三行前三列即可。??
  • ????????fixed3?worldNormal?=?normalize(mul(v.normal,?(float3×3)_World2Object));??
  • ??????????
  • ????????fixed3?worldLight?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ??????????
  • ????????//在得到了世界空間中的法線和光源方向后,我們需要對它們進行歸一化操作。在得到它們點擊的結果后,我們使用saturate函數??
  • ????????//把參數截取到[0,?1]范圍內。最后,再與光源顏色和強度以及材質的漫反射顏色相乘可得到最終的漫反射光照部分??
  • ????????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?saturate(dot(worldNormal,worldLight));??
  • ??????????
  • ????????//最后我們對環境光和漫反射部分相加,得到最終的光照結果??
  • ????????o.color?=?ambient?+?diffuse;??
  • ??????????
  • ????????return?o;??
  • ??????}??
  • ????????
  • ??????//由于所有的計算在頂點著色器中都已完成了,因此片元著色器的代碼很簡單,我們只需要直接把頂點顏色輸出即可??
  • ??????fixed4?frag(v2f?i)?:?SV_Target??
  • ??????{??
  • ????????return?fixed4(i.color,1.0);??
  • ??????}??
  • ????????
  • ??????ENDCG??
  • ????}??
  • ??}??
  • ????
  • ??Fallback?"Diffuse"??
  • }??
  • ?

    ?

    我們只需要對shader進行一些更改就可以實現逐像素的漫反射效果,如下圖



    為此,我們進行如下準備工作

    1)使用逐頂點中的場景

    2)新建一個材質

    3)新建一個Unity Shader。把新建的Shader 賦給第2步中創建的材質。

    4)把第2步中創建的材質賦給膠囊體。

    Shader代碼如下:

    ?

  • Shader?"Unity?Shader?Book/Chapter?6/Diffuse?PixelLevel"??
  • {??
  • ????Properties??
  • ????{??
  • ????????_Diffuse?("Diffuse",?Color)?=?(1,1,1,1)??
  • ????}??
  • ??????
  • ????SubShader??
  • ????{??
  • ????????Pass??
  • ????????{??
  • ????????????Tags?{"LightMode"?=?"ForwardBase"}??
  • ??????????????
  • ????????????CGPROGRAM??
  • ????????????#pragma?vertex?vert??
  • ????????????#pragma?fragmentfrag??
  • ??????????????
  • ????????????#include?"Lighting,cgnic"??
  • ??????????????
  • ????????????fixed4?_Diffuse;??
  • ??????????????
  • ????????????struct?a2v??
  • ????????????{??
  • ????????????????float4?vertex?:?POSITION;??
  • ????????????????float3?normal?:?NORMAL;??
  • ????????????};??
  • ??????????????
  • ????????????//頂點著色器的輸出結構體有作修改??
  • ????????????struct?v2f??
  • ????????????{??
  • ????????????????float4?pos?:?SV_POSITION;??
  • ????????????????fixed3?worldNormal?:?TEXCOORD0;??
  • ????????????};??
  • ??????????????
  • ????????????//頂點著色器不需要計算光照模型,只需要把世界空間下的法線傳遞給片元著色器即可??
  • ????????????v2f?vert(a2v?v)??
  • ????????????{??
  • ????????????????v2f?o;??
  • ????????????????o.pos?=?mul(UNITY_MATRIX_MVP,v.vertex);??
  • ????????????????o.worldNormal?=?mul(v.normal,?(float3×3)_World2Object));??
  • ????????????????return?o;??
  • ????????????}??
  • ??????????????
  • ????????????//片元著色器需要計算漫反射光照模型??
  • ????????????fixed4?frag(v2f?i)?:?SV_Target??
  • ????????????{??
  • ????????????????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ????????????????fixed3?worldNormal?=?normalize(i.worldNormal);??
  • ????????????????fixed3?worldLightDir?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ????????????????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?saturate(dot(worldNormal,worldLightDir));??
  • ????????????????fixed3?color?=?ambient?+?diffuse;??
  • ????????????????return?fixed4(color,1.0);??
  • ????????????}??
  • ??????????????
  • ????????????ENDCG??
  • ????????}??
  • ????}??
  • ??????
  • ????Fallback?"Diffuse"??
  • }??

  • 逐像素光照可以得到更加平滑的光照效果。但是,幾遍使用了逐像素漫反射光照,有一個問題仍然存在,在光照無法達到的區域,模型的外觀通常是全黑的,沒有任何明暗變化,這會使模型的背光區域看起來就像一個平面,失去了模型細節表現。實際上我們可以通過添加環境光來得到非全黑的效果,但即便這樣仍然無法解決背光面明暗一樣的缺點。為此,有一種改善技術被提出來,這就是半蘭伯特光照模型。

    ?

    ?

    廣義的半蘭伯特光照模型的公式如下:

    可以看出,與原蘭伯特模型相比,半蘭伯特光照模型沒有使用max操作來防止n和I的點積為負值,而是對其結果進行了一個α 倍的縮放再加上一個β 大小的偏移。絕大多數情況下,α 和β的值均為0.5,即公式為:

    通過這樣的方式,我們可以把(n·I)的結果范圍從[-1,1]映射到[0,1]范圍內,也就是說,對于模型的背光面,在原蘭伯特光照模型中點積結果將映射到同一個值,即0值處;而在半蘭伯特模型中,背光面也可以由明暗變化,不同的點積結果會映射到不同的值上。

    需要注意的是,半蘭伯特是沒有任何物理依據的,它僅僅是一個視覺加強技術。

    對逐像素光照的代碼做一些修改就可以實現半蘭伯特漫反射光照效果。

    ?

  • fixed4?frag(v2f?i)?:?SV_Target??
  • {??
  • ????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ????fixed3?worldNormal?=?normalize(i.worldNormal);??
  • ????fixed3?worldLightDir?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ????fixed3?halfLambert?=?dot(worldNormal,?worldLightDir)?*?0.5?+?0.5;??
  • ????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?halfLambert;??
  • ????fixed3?color?=?ambient?+?diffuse;??
  • ????return?fixed4(color,1.0);??
  • }??

  • 下圖給出了逐頂點漫反射光照、逐像素漫反射光照和半蘭伯特光照的對比效果。

    ?

    ?

    高光反射

    之前我們給出了基本光照模型中高光發射部分的計算公式:

    函數reflect(i,n)可以計算反射方向:當給定入射方向i和法線方向n時,reflect函數可以返回反射方向。

    ?

    實踐:逐頂點光照的高光反射效果

    代碼如下:

    ?


  • Shader?"Unity?Shaders?Book/Chapter6/Specular?Vertex-Level"??
  • {??
  • ????Properties??
  • ????{??
  • ????????_Diffuse("Diffuse",?Color)?=?(1,1,1,1)??
  • ????????//用于控制材質的高光反射顏色??
  • ????????_Specular("Specular",Color)?=?(1,1,1,1)??
  • ????????//用于控制高光區域的大小??
  • ????????_Gloss("Gloss",?Range(8.0,256))?=?20??
  • ????}??
  • ??????
  • ????SubShader??
  • ????{??
  • ????????Pass??
  • ????????{??
  • ????????????//設置光照模式??
  • ????????????Tags?{?"LightMode"?=?"Forward"}??
  • ??????????????
  • ????????????CGPROGRAM??
  • ??????????????
  • ????????????#pragma?vertex?vert??
  • ????????????#pragma?fragment?frag??
  • ??????????????
  • ????????????#include?"Lighting.cgnic"??
  • ??????????????
  • ????????????//存儲屬性中的變量??
  • ????????????fixed4?_Diffuse;??
  • ????????????fixed4?_Specular;??
  • ????????????float?_Gloss;??
  • ??????????????
  • ????????????//輸入結構體??
  • ????????????struct?a2v??
  • ????????????{??
  • ????????????????float4?vertex?:?????POSITION;??
  • ????????????????float3?normal?:?NORMAL;??
  • ????????????}??
  • ??????????????
  • ????????????//輸出結構體??
  • ????????????struct?v2f??
  • ????????????{??
  • ????????????????float4?pos?:?SV_POSITION;??
  • ????????????????fixed3?color?:?COLOR;??
  • ????????????}??
  • ??????????????
  • ????????????//頂點著色器中,計算包含高光反射的光照模型??
  • ????????????v2f?vert(a2v?v)??
  • ????????????{??
  • ????????????????v2f?o;??
  • ????????????????o.pos?=?mul(UNITY_MATRIX_MVP,v.vertex);??
  • ????????????????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ??????????????????
  • ????????????????fixed3?worldNormal?=?normalize(mul(v.normal,?(float3×3)_World2Object));??
  • ????????????????fixed3?worldLightDir?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ??????????????????
  • ????????????????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?saturate(dot(worldNormal,worldLightDir));??
  • ????????????????//入射光線關于表面法線的反射方向。由于CG的reflect函數的入射方向要求??
  • ????????????????//是由光源指向交點處的,因此需要對worldLightDir取反后再傳給reflect函數。??
  • ????????????????fixed3?reflectDir?=?normalize(reflect(-worldLightDir),worldNormal);??
  • ????????????????//_WorldSpaceCameraPos得到世界空間中的攝像機的位置??
  • ????????????????//再把頂點位置從模型空間變換到世界空間下,再通過和_WorldSpaceCameraPos相減??
  • ????????????????//即可得到世界空間下的視角方向??
  • ????????????????fixed3?viewDir?=?normalize(_WorldSpaceCameraPos.xyz?-?mul(_Object2World,?v.vertex).xyz);??
  • ????????????????//代入公式得到高光反射的光照部分??
  • ????????????????fixed3?specular?=?_LightColor0.rgb?*?_Specular.rgb?*?pow(saturate(dot(reflectDir,?viewDir)),_Gloss);??
  • ??????????????????
  • ????????????????o.color?=?ambient?+?diffuse?+?specular;??
  • ????????????}??
  • ??????????????
  • ????????????fixed4?frag(v2f?i)?:?SV_Target??
  • ????????????{??
  • ????????????????return?fixed4(i.color,?1.0);??
  • ????????????}??
  • ????????????ENDCG??
  • ????????}??
  • ????}??
  • ????Fallback?"Specular"??
  • }??

  • 得到的效果圖如下:

    ?

    ?

    實踐:高光逐像素光照

    更改逐頂點光照部分Shader代碼

    ?

  • Shader?"Unity?Shaders?Book/Chapter6/Specular?Pixel-Level"??
  • {??
  • ????Properties??
  • ????{??
  • ????????_Diffuse("Diffuse",?Color)?=?(1,1,1,1)??
  • ????????_Specular("Specular",Color)?=?(1,1,1,1)??
  • ????????_Gloss("Gloss",?Range(8.0,256))?=?20??
  • ????}??
  • ??????
  • ????SubShader??
  • ????{??
  • ????????Pass??
  • ????????{??
  • ????????????Tags?{?"LightMode"?=?"Forward"}??
  • ??????????????
  • ????????????CGPROGRAM??
  • ??????????????
  • ????????????#pragma?vertex?vert??
  • ????????????#pragma?fragment?frag??
  • ??????????????
  • ????????????#include?"Lighting.cgnic"??
  • ??????????????
  • ????????????fixed4?_Diffuse;??
  • ????????????fixed4?_Specular;??
  • ????????????float?_Gloss;??
  • ??????????????
  • ????????????struct?a2v??
  • ????????????{??
  • ????????????????float4?vertex?:?????POSITION;??
  • ????????????????float3?normal?:?NORMAL;??
  • ????????????}??
  • ??????????????
  • ????????????//更改了輸出結構體??
  • ????????????struct?v2f??
  • ????????????{??
  • ????????????????float4?pos?:?SV_POSITION;??
  • ????????????????float3?worldNormal?:?TEXCOORD0;??
  • ????????????????float3?worldPos?:?TEXCOORD1;??
  • ????????????}??
  • ??????????????
  • ????????????//頂點著色器只需要計算世界空間下的法線方向和頂點坐標,??
  • ????????????//并把它們傳遞給片元著色器即可??
  • ????????????v2f?vert(a2v?v)??
  • ????????????{??
  • ????????????????v2f?o;??
  • ????????????????o.pos?=?mul(UNITY_MATRIX_MVP,v.vertex);??
  • ??????????????????
  • ????????????????o.worldNormal?=?mul(v.normal,?(float3×3)_World2Object);??
  • ????????????????o.worldPos?=?mul(_Object2World,?v.vertex).xyz;??
  • ????????????????o.color?=?ambient?+?diffuse?+?specular;??
  • ????????????}??
  • ??????????????
  • ????????????//片元著色器需要計算關鍵的光照模型:??
  • ????????????fixed4?frag(v2f?i)?:?SV_Target??
  • ????????????{??
  • ????????????????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ????????????????fixed3?worldNormal?=?normalize(i.worldNormal);??
  • ????????????????fixed3?worldLightDir?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ??????????????????
  • ????????????????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?saturate(dot(worldNormal,worldLightDir));??
  • ??????????????????
  • ????????????????fixed3?reflectDir?=?normalize(reflect(-worldLightDir),worldNormal);??
  • ????????????????fixed3?viewDir?=?normalize(_WorldSpaceCameraPos.xyz?-?i.worldPos.xyz);??
  • ????????????????fixed3?specular?=?_LightColor0.rgb?*?_Specular.rgb?*?pow(saturate(dot(reflectDir,?viewDir)),_Gloss);??
  • ????????????????return?fixed4(ambient?+?diffuse?+?specular,?1.0);??
  • ????????????}??
  • ????????????ENDCG??
  • ????????}??
  • ????}??
  • ????Fallback?"Specular"??
  • }??
  • 結果如下:

    ?



    Blinn-Phong 光照模型

    公式如下

    修改逐像素光照中的部分代碼

    ?

  • fixed4?frag(v2f?i)?:?SV_Target??
  • {??
  • ????fixed3?ambient?=?UNITY_LIGHTMODEL_AMBIENT.xyz;??
  • ????fixed3?worldNormal?=?normalize(i.worldNormal);??
  • ????fixed3?worldLightDir?=?normalize(_WorldSpaceLightPos0.xyz);??
  • ??????
  • ????fixed3?diffuse?=?_LightColor0.rgb?*?_Diffuse.rgb?*?saturate(dot(worldNormal,worldLightDir));??
  • ??????
  • ????fixed3?reflectDir?=?normalize(reflect(-worldLightDir),worldNormal);??
  • ??????
  • ????fixed3?viewDir?=?normalize(_WorldSpaceCameraPos.xyz?-?i.worldPos.xyz);??
  • ??????
  • ????fixed3?halfDir?=?normalize(worldLightDir?+?viewDir);??
  • ??????
  • ????fixed3?specular?=?_LightColor0.rgb?*?_Specular.rgb?*?pow(max(0,dot(reflectDir,?halfDir)),_Gloss);??
  • ????return?fixed4(ambient?+?diffuse?+?specular,?1.0);??
  • }??
  • 下圖給出了三種高光反射光照的對比結果

    ?

    可以看出,Blinn-Phong 光照模型的高光反射部分看起來更大、更亮一些。在實際渲染中,絕大多數情況我們都會選擇Blinn-Phong光照模型。需要再次提醒的是,這兩種模型都是經驗模型,也就是說,我們不應該認為Blinn-Phong模型是對“正確的”Phong模型的近似。實際上,在一些情況下,Blinn-Phong模型更符合實驗結果。

    ?

    下表給出了UnityCG.cgnic 中一些常用的幫助函數

    注意,類似 UnityXXX 的幾個函數是Unity 5 中新添加的內置函數。

    轉載于:https://www.cnblogs.com/kanekiken/p/7616700.html

    總結

    以上是生活随笔為你收集整理的Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    麻豆影视网 | 人人看人人做人人澡 | 午夜国产福利在线 | 久草在线资源网 | 欧美a影视 | 欧美日韩在线第一页 | 五月天亚洲综合 | 国产精品国产自产拍高清av | 九九一级片 | 欧美另类网站 | 日韩www在线 | 91精品免费在线观看 | 天天干天天拍天天操天天拍 | 91精品视频免费在线观看 | a成人v| 97超碰人 | 91精品国产三级a在线观看 | 久久综合9988久久爱 | 麻豆视传媒官网免费观看 | 久久午夜鲁丝片 | 中文字幕亚洲高清 | 中文字幕免费在线 | 97麻豆视频 | 99久久婷婷国产精品综合 | 在线免费观看视频一区 | 一区二区三区福利 | 免费观看av网站 | 黄色的视频 | 中文字幕国产精品 | 激情av网址 | 草在线 | 中文字幕一区三区 | 人人澡人人爱 | 婷婷色影院| 91高清视频在线 | 午夜在线免费观看视频 | 国产免费小视频 | 国产精品麻豆三级一区视频 | 91九色在线视频观看 | 久久成年人视频 | 亚洲免费在线视频 | 精品久久久一区二区 | 91免费在线看片 | 成人av资源站 | 园产精品久久久久久久7电影 | 黄色91免费观看 | 精品国产伦一区二区三区免费 | 美女免费网视频 | 在线成人性视频 | 欧美日韩国产精品爽爽 | 久草www| 黄色网址国产 | 久久久久久久久久久久久久电影 | 色在线免费 | www色片| 久久亚洲精品国产亚洲老地址 | 99视频这里只有 | 国产aaa免费视频 | 久久99精品热在线观看 | 国内精品亚洲 | 成人羞羞视频在线观看免费 | 日韩精品一区二区三区免费视频观看 | av在线免费播放网站 | 四虎影院在线观看av | 久久成人高清 | 欧美淫aaa免费观看 日韩激情免费视频 | 国产高清视频在线观看 | 婷婷色中文字幕 | 久久精品国产免费 | 国产一卡二卡四卡国 | 国产精品久久久久久久久久尿 | 99久久久国产精品免费99 | 三级免费黄色 | 五月婷婷视频在线观看 | 亚洲成人av电影在线 | 夜夜操网 | 亚洲午夜精品久久久 | 日韩精品中文字幕在线不卡尤物 | 国产亚洲视频在线免费观看 | 婷婷亚洲五月色综合 | 久久五月婷婷综合 | 久久成人18免费网站 | 亚洲精品国产日韩 | 丁香影院在线 | 国产精品理论片在线播放 | 99国产精品久久久久久久久久 | 国产成人黄色片 | 91av电影在线 | 久久婷婷丁香 | 亚洲久草视频 | 99视频免费看 | a视频免费 | 国产精品美女久久久久久2018 | av 一区 二区 久久 | 欧美一级日韩三级 | 久久不射电影院 | 中文字幕人成不卡一区 | 色综合久久久久久中文网 | 久久国产高清 | 中文在线亚洲 | 亚洲国产精品va在线看黑人 | 久久久久久久久免费 | 久草在线视频中文 | 午夜性生活 | 久久久久久久久久久电影 | 狠狠色免费 | 99热手机在线观看 | 五月婷在线播放 | 国产在线观看,日本 | 天天爱天天操天天射 | 亚洲午夜小视频 | 精品女同一区二区三区在线观看 | 麻豆久久久久久久 | 日韩在线精品一区 | 亚洲欧美成人综合 | 大型av综合网站 | 成人毛片一区 | 欧美精品久久久久久 | 日韩电影在线观看一区二区三区 | 欧美亚洲一区二区在线 | 成人禁用看黄a在线 | 国产精品激情 | 免费成人在线视频网站 | 精品在线观看一区二区三区 | 日韩电影精品 | 精品高清美女精品国产区 | 亚洲精品色视频 | 久久人人爽人人爽 | 国产一区二区不卡视频 | 又污又黄的网站 | 91丨九色丨高潮 | 香蕉在线视频观看 | 国产精品久99 | 黄色av一区 | 日韩在线观看一区二区三区 | 亚洲黄网址| 69国产盗摄一区二区三区五区 | 天天干天天操天天拍 | 美女黄视频免费 | 国产亚洲精品久久久久久 | 久久久亚洲国产精品麻豆综合天堂 | 欧美日韩中文字幕综合视频 | 日日夜夜天天 | 在线成人小视频 | 伊人久在线 | 国产高清视频在线播放一区 | 成人av免费在线播放 | 日韩免费av在线 | 欧美亚洲另类在线视频 | av网站在线观看免费 | 天天操人人干 | 亚洲精品视频在线观看网站 | 日日干干| 丝袜美腿一区 | 国产极品尤物在线 | www五月| 激情综合网色播五月 | 欧美一区在线观看视频 | 国产不卡免费 | 一区二区三区高清不卡 | 亚洲精品乱码久久久久久9色 | 色综合天天综合网国产成人网 | 射射色| 亚洲电影图片小说 | 婷婷av资源 | 婷婷综合五月 | www.久热 | av午夜电影 | 国产免费xvideos视频入口 | 国产麻豆视频 | 亚洲精品麻豆 | 亚洲国产中文字幕在线观看 | 人人盈棋牌 | av噜噜噜在线播放 | 色多视频在线观看 | 在线电影 一区 | 夜夜视频资源 | 成年人国产精品 | 免费成人在线电影 | 在线日韩一区 | 日韩精品一二三 | 亚洲午夜精品电影 | 国产亚洲精品免费 | 国产一级视屏 | 国产午夜一级毛片 | 99久久精品国| 成年人毛片在线观看 | 在线观看网站你懂的 | 97国产精品 | 国产在线精品国自产拍影院 | 91免费视频网站在线观看 | 亚洲草视频 | 久久精品视频日本 | 黄色a视频免费 | 射射色 | 国产在线播放一区二区 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲精品大全 | 国产黄色a | 亚洲欧美偷拍另类 | 国产精品黄色影片导航在线观看 | 精品黄色在线观看 | 九九爱免费视频在线观看 | 久草视频在线免费 | 国产午夜免费视频 | 国产123av | 99久久国产免费免费 | 中文字幕中文字幕在线中文字幕三区 | 男女激情片在线观看 | 天天插日日插 | 国产精品久久99综合免费观看尤物 | 2017狠狠干| 私人av | 国产精品一区二区视频 | 人人爽人人澡人人添人人人人 | 99精品国产免费久久久久久下载 | 欧美成人性战久久 | 国产精品专区h在线观看 | 99视频在线看 | 一区二区三区观看 | 欧美一级在线看 | 99精品在线观看视频 | 国产中文欧美日韩在线 | 国产视频精品在线 | 就要色综合 | 国产黄色成人 | 一区二区三区精品久久久 | 香蕉视频国产在线观看 | 欧美a级成人淫片免费看 | 欧美成人免费在线 | 中文字幕成人一区 | 欧美一二三四在线 | 97精品超碰一区二区三区 | 天天躁天天躁天天躁婷 | 亚洲精选视频免费看 | 久久精品一区 | 精品国产网址 | 国内外成人在线视频 | 国产精品午夜免费福利视频 | 婷婷色av| 97免费公开视频 | 天无日天天操天天干 | 99精品国产一区二区 | 香蕉看片| 夜夜爽88888免费视频4848 | 2020天天干夜夜爽 | 在线观看视频h | 97精品国产97久久久久久免费 | 精品免费久久久久 | 日韩精品观看 | 精品久久久久_ | 精品久久国产 | 亚洲激情电影在线 | 亚洲aⅴ在线观看 | 日本中文字幕高清 | 久久高清片 | 日韩在线观看视频网站 | 亚洲成人av在线播放 | 精品久久久久久久久久久久久久久久久久 | 国产一级免费av | 免费黄色a网站 | 国产一区二区不卡视频 | 国产精品久久久久久久久久久久午夜 | 九九视频精品在线 | 国产护士hd高朝护士1 | 香蕉视频免费看 | 久久国产一二区 | 亚洲国产成人久久 | 亚洲精品一区二区在线观看 | 日韩一区二区三区在线观看 | 欧美成人精品欧美一级乱 | 黄色av网站在线观看 | 爱色av.com| 久久电影国产免费久久电影 | 97福利视频| 久久tv| 日日躁夜夜躁aaaaxxxx | 成年人免费在线播放 | 五月天六月丁香 | 亚洲天堂网在线观看视频 | 国产无吗一区二区三区在线欢 | 日韩成人欧美 | 天天干,天天射,天天操,天天摸 | 97超碰人 | 欧美激情综合五月色丁香 | www.国产在线视频 | 日韩在线观看视频中文字幕 | 久久爱资源网 | 亚洲一区精品二人人爽久久 | 午夜影院一级片 | 91新人在线观看 | 欧美先锋影音 | 成av在线 | 夜夜骑天天操 | 国产韩国日本高清视频 | 激情视频二区 | 五月天久久久久久 | 1024手机在线看 | 色橹橹欧美在线观看视频高清 | 日本精a在线观看 | 日本高清中文字幕有码在线 | wwwwwww黄 | av在线日韩 | 看片网站黄色 | 国产aa精品 | 久久精品网站免费观看 | 欧洲色综合 | 日日躁你夜夜躁你av蜜 | 国产精品女视频 | 亚洲精品网址在线观看 | 一区二区三区在线免费观看视频 | 国产黄a三级三级三级三级三级 | 国产精品视频永久免费播放 | 伊人五月 | 婷婷精品国产欧美精品亚洲人人爽 | 国产精品久久99 | 久久视频国产精品免费视频在线 | 91精品国产一区二区三区 | 天天天射 | 最近中文字幕免费大全 | 欧美另类高清 videos | 免费网站污 | 亚洲综合在线五月天 | 日韩精品视频在线免费观看 | 国产亚洲免费的视频看 | 中文字幕韩在线第一页 | 天天操天天射天天爱 | 欧美日韩三级在线观看 | 免费男女羞羞的视频网站中文字幕 | 麻豆首页 | 久久精品香蕉视频 | 黄色成人小视频 | 激情视频一区二区 | 91亚洲视频在线观看 | 日韩中文字幕免费 | 天天曰天天干 | 精品一区二区在线观看 | 亚洲视频免费在线观看 | 一区二区三区韩国免费中文网站 | 91看片一区二区三区 | 久草97| 久久免费视频网站 | 亚洲精品视 | 国产美女免费看 | www中文在线| 久久短视频 | 99视频这里有精品 | 91精品小视频 | 国产精品国产毛片 | 性色va | 国产精品成人久久 | 免费观看不卡av | 久久综合九色综合97婷婷女人 | 亚洲区另类春色综合小说 | 视频一区在线免费观看 | 亚洲人成网站精品片在线观看 | 色99导航 | 久久精品视频一 | 日韩精品一区二区三区高清免费 | 日日夜夜骑 | 国产精品福利在线播放 | 久草在线一免费新视频 | 国产一级黄色电影 | 国产一区二区播放 | 亚洲成av片人久久久 | 午夜av免费在线观看 | 国产黄色大片免费看 | 国产专区在线看 | 免费看国产一级片 | 日日碰狠狠躁久久躁综合网 | 亚洲精品在线视频观看 | 国产一区麻豆 | 国产精品中文字幕在线播放 | 精品一区二区三区在线播放 | 中日韩在线视频 | 国产91学生粉嫩喷水 | 久久国产精品久久国产精品 | 天天操夜夜爱 | 亚洲综合小说电影qvod | 色视频成人在线观看免 | 特级黄色视频毛片 | 91桃色在线免费观看 | 在线观看黄色小视频 | 91日韩精品视频 | 色婷婷激情电影 | 国产97在线播放 | 久久99国产精品久久99 | av色图天堂网 | 国产中文字幕视频在线 | 久久一区二区三区超碰国产精品 | 在线看片一区 | 狠狠干,狠狠操 | 亚洲综合在线发布 | 四虎成人精品永久免费av九九 | 中文在线 | 国产日产精品久久久久快鸭 | 精品国产一区二区三区久久影院 | 国产原创在线 | 在线观看视频黄色 | 97超碰在线久草超碰在线观看 | 精品99免费视频 | 精品影院一区二区久久久 | 日韩三区在线观看 | 国产明星视频三级a三级点| 欧美一区二区三区免费观看 | 国产精品av一区二区 | 天天骚夜夜操 | 爱爱av在线 | 亚洲免费精品视频 | 久久99久久精品国产 | av免费试看 | 色噜噜狠狠狠狠色综合久不 | 亚洲 在线 | 日韩视频一区二区 | 日韩欧美一区二区三区在线观看 | 国产一区二区精品久久91 | 亚洲精品乱码久久久久久写真 | 99视频在线观看免费 | 久久99精品久久久久久秒播蜜臀 | 粉嫩一区二区三区粉嫩91 | 在线视频 91 | 最近中文字幕免费 | 色综合中文综合网 | 久久国产精品色婷婷 | 91精品一区国产高清在线gif | 婷婷在线色 | 欧美一区二区三区在线观看 | 美女黄色网在线播放 | 日韩久久精品一区二区三区 | 91av资源在线 | 久久久久久久久久久网 | 91人人澡 | 中文字幕在线看视频 | 免费视频黄 | 久草久| 日韩精品一区二区三区在线播放 | 日韩免费观看一区二区 | 色综合久久久久综合99 | 亚州精品在线视频 | 精品久久一级片 | 二区视频在线观看 | 国产成人在线观看 | 欧美精品久久久久久久 | 亚洲天天草 | 日本黄色免费播放 | 麻花天美星空视频 | www.在线看片.com| 91香蕉视频720p | 日韩欧美视频二区 | 波多野结衣久久资源 | 日韩免费电影网站 | 天天操天天曰 | 国产精品久久久久久久久久久久久久 | www.久久免费 | 日韩精品极品视频 | 天天av在线播放 | 国产亚洲成人精品 | 久久久亚洲国产精品麻豆综合天堂 | 精品国内自产拍在线观看视频 | 日韩中文字幕亚洲一区二区va在线 | 99久国产 | 怡红院av久久久久久久 | 在线精品亚洲一区二区 | 亚洲成人频道 | 91免费视频黄 | 欧洲成人免费 | 97色在线视频 | 在线免费观看国产 | 亚洲爱爱视频 | 久草在线网址 | 免费网站黄 | 人人草天天草 | 久久亚洲欧美日韩精品专区 | 亚洲成人999| 天天操天天是 | 色综合久久网 | 欧美视频国产视频 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲一级片 | 日本黄色免费电影网站 | 国产在线中文字幕 | 国产精品永久 | 免费看v片网站 | 欧美日韩在线视频一区二区 | 精品毛片一区二区免费看 | 日本三级大片 | 亚洲毛片久久 | 国产四虎在线 | 在线黄色国产电影 | 午夜视频免费在线观看 | 99热九九这里只有精品10 | av片免费播放| 亚洲久久视频 | 国产精品毛片一区二区 | 奇米四色影狠狠爱7777 | 人人精品久久 | 成年人视频在线免费 | 久久免费看av | 黄色激情网址 | 日韩中文在线电影 | 波多野结衣在线视频一区 | 91麻豆精品国产91久久久无限制版 | 欧美污污视频 | 亚洲天堂网站 | 综合网中文字幕 | 久久成人18免费网站 | 婷婷五月色综合 | 午夜视频不卡 | 日本系列中文字幕 | 一级黄色在线视频 | 欧美一级免费在线 | 欧美影片| 99久久精品免费看国产一区二区三区 | 国产 字幕 制服 中文 在线 | 国产精品专区在线观看 | 午夜 免费 | 亚洲精品在线视频 | 欧美日韩精品在线免费观看 | 久久综合给合久久狠狠色 | 久久国产精品免费一区 | 国产在线观看二区 | 美女黄网久久 | 亚洲激情国产精品 | 免费欧美高清视频 | 精品成人免费 | 一区二区三区在线观看免费视频 | 色噜噜狠狠色综合中国 | 亚洲婷婷综合色高清在线 | 欧美成人在线网站 | 国产成人精品在线 | 91大神一区二区三区 | 日本韩国欧美在线观看 | 91人人澡人人爽 | 久久se视频| 欧美男男激情videos | 精品福利网 | 色综合五月天 | 国产aa免费视频 | 伊人五月天婷婷 | 国产精品12| 白丝av免费观看 | www.99在线观看| 免费观看一区二区 | 欧美日韩中文字幕综合视频 | 日一日干一干 | 亚洲国产成人精品久久 | 午夜视频导航 | 亚洲精品三级 | 国产成人一区二区精品非洲 | 久久久久久久久亚洲精品 | 超碰在线个人 | 国产馆在线播放 | 中中文字幕av在线 | 天天干天天操天天拍 | av7777777| 韩国精品福利一区二区三区 | 国产免费不卡 | 欧美一区二区在线免费观看 | 中文字幕电影网 | 在线观看成人国产 | 精选久久 | 香蕉视频网址 | 蜜臀av夜夜澡人人爽人人桃色 | 亚洲a成人v | 911精品美国片911久久久 | 国产精品一区二区av日韩在线 | 亚洲精品国产精品国自产 | 久久毛片视频 | 香蕉影院在线播放 | 成人免费中文字幕 | 免费在线观看日韩视频 | 999热线在线观看 | 国产精品18videosex性欧美 | 搡bbbb搡bbb视频 | 成人97视频一区二区 | 视频国产区 | 久久精品小视频 | 99re久久资源最新地址 | 日日爱影视| 久 久久影院 | 久久久久99精品成人片三人毛片 | 久草视频在线观 | 99热手机在线| 狠色狠色综合久久 | 久久久免费网站 | 91精品伦理 | 99中文字幕视频 | av在线一级 | 日韩免费高清在线观看 | 国产成人久久精品亚洲 | a黄色大片 | 激情欧美日韩一区二区 | 天天婷婷 | www.夜夜操.com | 天天天天天天天天操 | 久久a久久 | 亚洲电影一级黄 | 四虎成人精品在永久免费 | 欧美日韩在线视频观看 | 天天综合网在线 | 91成人网在线 | 亚洲国产中文字幕在线观看 | 97在线观看免费观看 | 国产精品久久久久久久婷婷 | 国产精品成人一区二区三区 | 一级欧美日韩 | 超级碰碰碰碰 | 久久99精品国产麻豆宅宅 | 97av视频 | 人人爱爱人人 | 欧美视频99 | 日韩欧美精品一区 | 黄色小说视频在线 | 国产日韩视频在线 | 国产美腿白丝袜足在线av | 99久久久国产免费 | 精产嫩模国品一二三区 | 婷婷丁香激情五月 | 日韩精品免费在线视频 | 国语精品久久 | 国产精品一二 | 在线观看你懂的网址 | 久久综合久久综合久久综合 | 欧美日韩成人 | 精品一二三四五区 | 婷婷五月在线视频 | 激情视频免费在线观看 | 欧美成人xxxx | 九九热re| 国产精品18久久久久vr手机版特色 | 久久乐九色婷婷综合色狠狠182 | 99久久精 | 欧美另类69 | 亚洲综合导航 | 日韩av一区在线观看 | 亚洲国产三级在线观看 | 久久精品电影网 | 国产一级精品视频 | 91精品一区在线观看 | 日韩中字在线观看 | 国产福利在线 | 中文字幕久久精品 | 国产成人一区二区啪在线观看 | 免费看搞黄视频网站 | 99tvdz@gmail.com | 欧美人人| 国产理论影院 | 永久免费精品视频网站 | 在线看v片成人 | 岛国av在线| 中文字幕精品www乱入免费视频 | 在线成人观看 | 国产视频在线一区二区 | 色婷婷亚洲综合 | 国产精品国产自产拍高清av | 黄色三级网站在线观看 | 欧美日韩国产精品爽爽 | 天天干天天拍 | 久久人人爽人人片 | 五月婷丁香网 | 99热精品国产 | 亚洲成人一二三 | 免费高清在线观看成人 | 日韩一区二区免费播放 | 成人午夜电影网站 | 成年人免费看的视频 | 狠狠操狠狠 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 久草视频网 | 操操操com | 一区二区三区四区免费视频 | 亚洲精品视频偷拍 | 伊人狠狠 | 亚州精品在线视频 | 国产免费黄色 | 久久婷婷五月综合色丁香 | 欧美日韩在线观看视频 | 中文字幕av电影下载 | 久久激情五月婷婷 | 免费看的视频 | 中文字幕婷婷 | 一区二区 不卡 | 国产精品久久久久久电影 | 久草视频免费播放 | 美女视频a美女大全免费下载蜜臀 | 国产精品久久久久影视 | 国产一级一片免费播放放 | 一级黄网 | 在线观看中文字幕第一页 | 日韩1页 | 免费色网 | av成人资源 | 免费在线观看污 | 国产aaa免费视频 | 日韩女同av | 久久精品国产免费看久久精品 | 美女一二三区 | 欧美日韩亚洲在线 | 成人教育av | 国产精品18久久久久vr手机版特色 | 欧美精品久久 | 欧美污网站 | 久久精品久久国产 | 9在线观看免费高清完整版在线观看明 | 99久久久国产精品免费99 | 国产一区福利 | www.色午夜.com | 国产成人综 | 综合久久网站 | 欧美激情第一区 | 精品久久久久久一区二区里番 | 人人草网站 | 狠狠干,狠狠操 | 亚洲狠狠丁香婷婷综合久久久 | 韩日成人av | 亚洲国产剧情av | 亚洲综合色激情五月 | 日韩中文字幕在线 | 国产日韩欧美视频 | 中文字幕888 | 黄色毛片视频免费 | 久久天天操 | 色爱区综合激月婷婷 | 久久免费av电影 | 久产久精国产品 | 91粉色视频 | 欧美一级黄色网 | 欧美日韩国产高清视频 | 国产精品少妇 | 欧美性黄网官网 | 国产免费三级在线观看 | 婷婷色综合网 | 国产中文在线视频 | 91亚洲精品久久久久图片蜜桃 | 久久激情影院 | 久久综合桃花 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久99影院 | 亚洲精品免费在线 | 日本视频高清 | 91麻豆看国产在线紧急地址 | 欧美国产不卡 | 日韩午夜视频在线观看 | 国产一区视频免费在线观看 | 久久国产精品99久久人人澡 | 免费看黄色大全 | 操处女逼 | 91成人免费观看视频 | 国产亚洲精品久久久久久 | 在线黄色av| 国产精品一区二区三区99 | 国产精品视频在线看 | 国产 字幕 制服 中文 在线 | 一级黄色大片 | 日韩精品91偷拍在线观看 | 在线国产高清 | 在线观看黄色大片 | 国产精品欧美久久久久天天影视 | 日日干影院 | 天天夜操 | 中文字幕日韩一区二区三区不卡 | 成人av久久 | 欧美一级免费黄色片 | 五月婷视频 | 日本久久影视 | 97超碰人人模人人人爽人人爱 | 天天艹| 久久成电影 | 91在线看| 亚洲成a人片77777kkkk1在线观看 | 久久久久国产精品一区 | 亚洲一区日韩 | 国产精品第54页 | 美女视频a美女大全免费下载蜜臀 | 久久狠狠婷婷 | 国产中文字幕视频在线观看 | 99久久9| 亚洲影院色| 色99色| 久久久国产精品视频 | 波多野结衣在线中文字幕 | 夜夜视频资源 | 亚洲第一区在线播放 | 69国产精品成人在线播放 | 日本女人的性生活视频 | 99免费在线观看 | 亚洲成人av在线电影 | 精品亚洲视频在线 | 婷婷激情欧美 | 91精品久久久久久久久 | 国产高清免费 | 国产只有精品 | 精品久久综合 | 国产精品中文字幕在线观看 | 国产一区二区久久久久 | 丝袜美腿在线播放 | 国产三级久久久 | 欧美成人一区二区 | 国产在线观看免费 | 在线观看日韩精品视频 | 国产资源在线免费观看 | 亚洲天堂首页 | 日韩免费网址 | 99精品视频在线观看视频 | 福利一区在线视频 | 91传媒激情理伦片 | 色99久久 | 久久精品综合一区 | 欧美 日韩 久久 | 国产一区网 | 国产啊v在线观看 | 欧美日韩成人 | 色资源网在线观看 | 四虎视频 | 91免费黄视频 | 国产二区精品 | 国产91精品高清一区二区三区 | 成人黄色小视频 | 夜色资源站国产www在线视频 | 日日干天夜夜 | 久久精品婷婷 | 婷婷激情五月综合 | 色婷婷视频在线观看 | 欧美a影视| 免费在线观看日韩欧美 | 婷婷在线免费观看 | 午夜精品婷婷 | 91黄在线看| 91精品视频导航 | 青青河边草观看完整版高清 | 国产91影院| 久草com| www久久国产 | 成人免费av电影 | 亚洲黄色一级大片 | 色99色| 亚洲欧洲av在线 | 婷婷草| 玖草在线观看 | 国产麻豆果冻传媒在线观看 | 片网站 | 国产精品久久久久影院日本 | 亚洲精品乱码久久久久久蜜桃动漫 | 日本精品视频免费 | 亚洲 欧美 日韩 综合 | 久草在线费播放视频 | 亚洲免费精品一区二区 | 久久久久麻豆v国产 | 日日日日 | 国模视频一区二区三区 | 精品一区二区在线播放 | 欧美一区免费在线观看 | 久草在线一免费新视频 | 国产在线日本 | 久久韩国免费视频 | 免费观看性生活大片 | 国产精品久久久久一区二区 | 精品免费久久久久 | 美女黄久久 | 久久亚洲人 | av片一区二区 | 国产69久久久欧美一级 | 日韩三级av| 国产高清在线永久 | 国产专区欧美专区 | 狠狠色狠狠色综合系列 | 亚洲国产偷 | 久久久免费毛片 | www麻豆视频 | 久久最新 | 国产真实精品久久二三区 | 网址你懂的在线观看 | 中文资源在线官网 | 五月天色丁香 | 亚洲激情综合网 | 日韩精品免费在线观看 | 免费精品视频在线 | 最近中文字幕大全 | 一本一本久久a久久精品牛牛影视 | 亚洲精品高清一区二区三区四区 | 亚洲成人xxx | 日韩理论在线观看 | 国精产品999国精产 久久久久 | 日韩高清一 | 天天操天天干天天爽 | 国产电影黄色av | 亚洲专区视频在线观看 | 高清在线观看av | 欧美激情视频一二三区 | 色播五月婷婷 | 一区二区三区四区在线免费观看 | 久久免费视频一区 | 亚洲美女视频在线观看 | 国产91学生粉嫩喷水 | 欧美另类美少妇69xxxx | 久久免费在线观看视频 | 亚洲成人蜜桃 | 精品成人在线 | 欧美一区二区在线 | 色七七亚洲影院 | 午夜精品婷婷 | 日韩高清一| 毛片视频网址 | 日韩欧美在线视频一区二区 | 主播av在线| 日韩久久精品一区二区三区下载 | 久久人人爽人人 | 国产精品毛片一区二区在线 | 一本色道久久综合亚洲二区三区 | 毛片区| 国产精品婷婷 | 亚洲精品视频在线免费播放 | 91视频-88av| 欧美一区日韩精品 | 在线观看爱爱视频 | 欧美综合在线观看 | 精品国产乱码久久久久久久 | 久久精品99国产精品日本 | 国产精品久久网站 | 国产午夜亚洲精品 | 91视频免费观看 | 免费看的毛片 | 免费在线观看a v | 五月激情站 | 欧女人精69xxxxxx | 成人试看120秒 | 欧美日韩91 | 少妇bbw撒尿| 在线免费看黄网站 | 日韩电影一区二区在线观看 | 欧美韩国日本在线观看 | 亚洲国产操 | 久久久影院一区二区三区 | 日韩二区三区 | av观看久久久 | 国产一区欧美在线 | 日本激情动作片免费看 | 日韩一三区 | 色91在线 | 激情五月av| 免费大片黄在线 | 欧美一二在线 | 国产精品久久视频 | 婷婷av色综合 | 国产91丝袜在线播放动漫 | 一区在线免费观看 | 亚洲国产人午在线一二区 | 成人国产电影在线观看 | 激情电影在线观看 | 日韩中文字幕在线观看 | a'aaa级片在线观看 | 91成品人影院 | 中文字幕黄色 | 91大神精品视频在线观看 | 一区二区三区免费在线播放 | 日本特黄特色aaa大片免费 | 激情av在线播放 | 婷婷国产v亚洲v欧美久久 | 日韩成人高清在线 | 久久国产二区 | 成人va视频| 国产九九在线 | 日日日网 | 欧美日韩视频在线观看一区二区 | 欧美男男tv网站 | www日韩在线 | 国产精品久久嫩一区二区免费 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲日本欧美 | 精品久久久久久久 | 成人一级免费电影 | 中文字幕国产在线 | 免费网址在线播放 | 91精品国产99久久久久久久 | 亚洲精品白浆高清久久久久久 | 狠狠色伊人亚洲综合网站色 | 亚洲一区二区精品视频 | 免费观看全黄做爰大片国产 | 中文字幕在线视频精品 | 在线一二三区 | 欧美91在线 | 91九色视频网站 | 全黄网站 | 国产午夜精品久久久久久久久久 | 在线导航av| 99草视频在线观看 | 久久精品高清 | 国产视频精品久久 | 欧美激情视频一区二区三区 | 国产美女网站在线观看 | 亚洲天天 | 91av手机在线 | 国产日韩视频在线观看 | 国产又粗又猛又黄又爽视频 | 日韩一区二区三免费高清在线观看 | 在线www色 | 99久久久久国产精品免费 | 六月丁香伊人 |