操日本女人逼的视频,三级视频网站久久精品,日韩欧美国产精品一区二区,日韩欧美中文字幕在线播放

產(chǎn)品列表PRODUCTS LIST

首頁(yè) > 技術(shù)與支持 > HDR技術(shù)詳解
HDR技術(shù)詳解
點(diǎn)擊次數(shù):1784 更新時(shí)間:2021-11-30

OpenGL核心技術(shù)之HDR

一般來(lái)說(shuō),當(dāng)存儲(chǔ)在幀緩沖(Framebuffer)中時(shí),亮度和顏色的值是默認(rèn)被限制在0.0到1.0之間的。這個(gè)看起來(lái)無(wú)辜的語(yǔ)句使我們一直將亮度與顏色的值設(shè)置在這個(gè)范圍內(nèi),嘗試著與場(chǎng)景契合。這樣是能夠運(yùn)行的,也能給出還不錯(cuò)的效果。但是如果我們遇上了一個(gè)特定的區(qū)域,其中有多個(gè)亮光源使這些數(shù)值總和超過(guò)了1.0,又會(huì)發(fā)生什么呢?答案是這些片段中超過(guò)1.0的亮度或者顏色值會(huì)被約束在1.0,從而導(dǎo)致場(chǎng)景混成一片,難以分辨:


這是由于大量片段的顏色值都非常接近1.0,在很大一個(gè)區(qū)域內(nèi)每一個(gè)亮的片段都有相同的白色。這損失了很多的細(xì)節(jié),使場(chǎng)景看起來(lái)非常假。

解決這個(gè)問(wèn)題的一個(gè)方案是減小光源的強(qiáng)度從而保證場(chǎng)景內(nèi)沒有一個(gè)片段亮于1.0。然而這并不是一個(gè)好的方案,因?yàn)槟阈枰褂貌磺袑?shí)際的光照參數(shù)。一個(gè)更好的方案是讓顏色暫時(shí)超過(guò)1.0,然后將其轉(zhuǎn)換至0.0到1.0的區(qū)間內(nèi),從而防止損失細(xì)節(jié)。

顯示器被限制為只能顯示值為0.0到1.0間的顏色,但是在光照方程中卻沒有這個(gè)限制。通過(guò)使片段的顏色超過(guò)1.0,我們有了一個(gè)更大的顏色范圍,這也被稱作HDR(High Dynamic Range, 高動(dòng)態(tài)范圍)。有了HDR,亮的東西可以變得非常亮,暗的東西可以變得非常暗,而且充滿細(xì)節(jié)。

HDR原本只是被運(yùn)用在攝影上,攝影師對(duì)同一個(gè)場(chǎng)景采取不同曝光拍多張照片,捕捉大范圍的色彩值。這些圖片被合成為HDR圖片,從而綜合不同的曝光等級(jí)使得大范圍的細(xì)節(jié)可見??聪旅孢@個(gè)例子,左邊這張圖片在被光照亮的區(qū)域充滿細(xì)節(jié),但是在黑暗的區(qū)域就什么都看不見了;但是右邊這張圖的高曝光卻可以讓之前看不出來(lái)的黑暗區(qū)域顯現(xiàn)出來(lái)。


這與我們眼睛工作的原理非常相似,也是HDR渲染的基礎(chǔ)。當(dāng)光線很弱的啥時(shí)候,人眼會(huì)自動(dòng)調(diào)整從而使過(guò)暗和過(guò)亮的部分變得更清晰,就像人眼有一個(gè)能自動(dòng)根據(jù)場(chǎng)景亮度調(diào)整的自動(dòng)曝光滑塊。

HDR渲染和其很相似,我們?cè)试S用更大范圍的顏色值渲染從而獲取大范圍的黑暗與明亮的場(chǎng)景細(xì)節(jié),zui后將所有HDR值轉(zhuǎn)換成在[0.0, 1.0]范圍的LDR(Low Dynamic Range,低動(dòng)態(tài)范圍)。轉(zhuǎn)換HDR值到LDR值得過(guò)程叫做色調(diào)映射(Tone Mapping),現(xiàn)在現(xiàn)存有很多的色調(diào)映射算法,這些算法致力于在轉(zhuǎn)換過(guò)程中保留盡可能多的HDR細(xì)節(jié)。這些色調(diào)映射算法經(jīng)常會(huì)包含一個(gè)選擇性傾向黑暗或者明亮區(qū)域的參數(shù)。

在實(shí)時(shí)渲染中,HDR不僅允許我們超過(guò)LDR的范圍[0.0, 1.0]與保留更多的細(xì)節(jié),同時(shí)還讓我們能夠根據(jù)光源的真實(shí)強(qiáng)度它的強(qiáng)度。比如太陽(yáng)有比閃光燈之類的東西更高的強(qiáng)度,那么我們?yōu)槭裁床贿@樣子設(shè)置呢?(比如說(shuō)設(shè)置一個(gè)10.0的漫亮度) 這允許我們用更現(xiàn)實(shí)的光照參數(shù)恰當(dāng)?shù)嘏渲靡粋€(gè)場(chǎng)景的光照,而這在LDR渲染中是不能實(shí)現(xiàn)的,因?yàn)樗麄儠?huì)被上限約束在1.0。

因?yàn)轱@示器只能顯示在0.0到1.0范圍之內(nèi)的顏色,我們肯定要做一些轉(zhuǎn)換從而使得當(dāng)前的HDR顏色值符合顯示器的范圍。簡(jiǎn)單地取平均值重新轉(zhuǎn)換這些顏色值并不能很好的解決這個(gè)問(wèn)題,因?yàn)槊髁恋牡胤綍?huì)顯得更加顯著。我們能做的是用一個(gè)不同的方程與/或曲線來(lái)轉(zhuǎn)換這些HDR值到LDR值,從而給我們對(duì)于場(chǎng)景的亮度*掌控,這就是之前說(shuō)的色調(diào)變換,也是HDR渲染的zui終步驟。

在實(shí)現(xiàn)HDR渲染之前,我們首先需要一些防止顏色值在每一個(gè)片段著色器運(yùn)行后被限制約束的方法。當(dāng)幀緩沖使用了一個(gè)標(biāo)準(zhǔn)化的定點(diǎn)格式(像GL_RGB)為其顏色緩沖的內(nèi)部格式,OpenGL會(huì)在將這些值存入幀緩沖前自動(dòng)將其約束到0.0到1.0之間。這一操作對(duì)大部分幀緩沖格式都是成立的,除了專門用來(lái)存放被拓展范圍值的浮點(diǎn)格式。

當(dāng)一個(gè)幀緩沖的顏色緩沖的內(nèi)部格式被設(shè)定成了GL_RGB16F, GL_RGBA16F, GL_RGB32F 或者GL_RGBA32F時(shí),這些幀緩沖被叫做浮點(diǎn)幀緩沖(Floating Point Framebuffer),浮點(diǎn)幀緩沖可以存儲(chǔ)超過(guò)0.0到1.0范圍的浮點(diǎn)值,所以非常適合HDR渲染。

想要?jiǎng)?chuàng)建一個(gè)浮點(diǎn)幀緩沖,我們只需要改變顏色緩沖的內(nèi)部格式參數(shù)就行了(注意GL_FLOAT參數(shù)):

[cpp] view plain copy

  1. glBindTexture(GL_TEXTURE_2D, colorBuffer);  

  2. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB16F, SCR_WIDTH, SCR_HEIGHT, 0, GL_RGB, GL_FLOAT, NULL);    


默認(rèn)的幀緩沖默認(rèn)一個(gè)顏色分量只占用8位(bits)。當(dāng)使用一個(gè)使用32位每顏色分量的浮點(diǎn)幀緩沖時(shí)(使用GL_RGB32F 或者GL_RGBA32F),我們需要四倍的內(nèi)存來(lái)存儲(chǔ)這些顏色。所以除非你需要一個(gè)非常高的度,32位不是必須的,使用GLRGB16F就足夠了。

有了一個(gè)帶有浮點(diǎn)顏色緩沖的幀緩沖,我們可以放心渲染場(chǎng)景到這個(gè)幀緩沖中。在這個(gè)教程的例子當(dāng)中,我們先渲染一個(gè)光照的場(chǎng)景到浮點(diǎn)幀緩沖中,之后再在一個(gè)鋪屏四邊形(Screen-filling Quad)上應(yīng)用這個(gè)幀緩沖的顏色緩沖,代碼會(huì)是這樣子:

[cpp] view plain copy

  1. glBindFramebuffer(GL_FRAMEBUFFER, hdrFBO);  

  2.    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    

  3.    // [...] 渲染(光照的)場(chǎng)景  

  4. glBindFramebuffer(GL_FRAMEBUFFER, 0);  

  5.  

  6. // 現(xiàn)在使用一個(gè)不同的著色器將HDR顏色緩沖渲染至2D鋪屏四邊形上  

  7. hdrShader.Use();  

  8. glActiveTexture(GL_TEXTURE0);  

  9. glBindTexture(GL_TEXTURE_2D, hdrColorBufferTexture);  

  10. RenderQuad();  


這里場(chǎng)景的顏色值存在一個(gè)可以包含任意顏色值的浮點(diǎn)顏色緩沖中,值可能是超過(guò)1.0的。這個(gè)簡(jiǎn)單的演示中,場(chǎng)景被創(chuàng)建為一個(gè)被拉伸的立方體通道和四個(gè)點(diǎn)光源,其中一個(gè)非常亮的在隧道的盡頭:


[cpp] view plain copy

  1. std::vectorlightColors;  

  2. lightColors.push_back(glm::vec3(200.0f, 200.0f, 200.0f));  

  3. lightColors.push_back(glm::vec3(0.1f, 0.0f, 0.0f));  

  4. lightColors.push_back(glm::vec3(0.0f, 0.0f, 0.2f));  

  5. lightColors.push_back(glm::vec3(0.0f, 0.1f, 0.0f));    

渲染至浮點(diǎn)幀緩沖和渲染至一個(gè)普通的幀緩沖是一樣的。新的東西就是這個(gè)的hdrShader的片段著色器,用來(lái)渲染zui終擁有浮點(diǎn)顏色緩沖紋理的2D四邊形。我們來(lái)定義一個(gè)簡(jiǎn)單的直通片段著色器(Pass-through Fragment Shader):



[cpp] view plain copy

  1. #version 330 core  

  2. out vec4 color;  

  3. in vec2 TexCoords;  

  4.  

  5. uniform sampler2D hdrBuffer;  

  6.  

  7. void main()  

  8. {              

  9.    vec3 hdrColor = texture(hdrBuffer, TexCoords).rgb;  

  10.    color = vec4(hdrColor, 1.0);  

  11. }    


這里我們直接采樣了浮點(diǎn)顏色緩沖并將其作為片段著色器的輸出。然而,這個(gè)2D四邊形的輸出是被直接渲染到默認(rèn)的幀緩沖中,導(dǎo)致所有片段著色器的輸出值被約束在0.0到1.0間,盡管我們已經(jīng)有了一些存在浮點(diǎn)顏色紋理的值超過(guò)了1.0。


很明顯,在隧道盡頭的強(qiáng)光的值被約束在1.0,因?yàn)橐淮髩K區(qū)域都是白色的,過(guò)程中超過(guò)1.0的地方損失了所有細(xì)節(jié)。因?yàn)槲覀冎苯愚D(zhuǎn)換HDR值到LDR值,這就像我們根本就沒有應(yīng)用HDR一樣。為了修復(fù)這個(gè)問(wèn)題我們需要做的是無(wú)損轉(zhuǎn)化所有浮點(diǎn)顏色值回0.0-1.0范圍中。我們需要應(yīng)用到色調(diào)映射。


色調(diào)映射(Tone Mapping)是一個(gè)損失很小的轉(zhuǎn)換浮點(diǎn)顏色值至我們所需的LDR[0.0, 1.0]范圍內(nèi)的過(guò)程,通常會(huì)伴有特定的風(fēng)格的色平衡(Stylistic Color Balance)。

zui簡(jiǎn)單的色調(diào)映射算法是Reinhard色調(diào)映射,它涉及到分散整個(gè)HDR顏色值到LDR顏色值上,所有的值都有對(duì)應(yīng)。Reinhard色調(diào)映射算法平均得將所有亮度值分散到LDR上。我們將Reinhard色調(diào)映射應(yīng)用到之前的片段著色器上,并且為了更好的測(cè)量加上一個(gè)Gamma校正過(guò)濾(包括SRGB紋理的使用):

[cpp] view plain copy

  1. void main()  

  2. {              

  3.    const float gamma = 2.2;  

  4.    vec3 hdrColor = texture(hdrBuffer, TexCoords).rgb;  

  5.  

  6.    // Reinhard色調(diào)映射  

  7.    vec3 mapped = hdrColor / (hdrColor + vec3(1.0));  

  8.    // Gamma校正  

  9.    mapped = pow(mapped, vec3(1.0 / gamma));  

  10.  

  11.    color = vec4(mapped, 1.0);  

  12. }    

有了Reinhard色調(diào)映射的應(yīng)用,我們不再會(huì)在場(chǎng)景明亮的地方損失細(xì)節(jié)。當(dāng)然,這個(gè)算法是傾向明亮的區(qū)域的,暗的區(qū)域會(huì)不那么精細(xì)也不那么有區(qū)分度。


現(xiàn)在你可以看到在隧道的盡頭木頭紋理變得可見了。用了這個(gè)非常簡(jiǎn)單地色調(diào)映射算法,我們可以合適的看到存在浮點(diǎn)幀緩沖中整個(gè)范圍的HDR值,給我們對(duì)于無(wú)損場(chǎng)景光照的控制。

另一個(gè)有趣的色調(diào)映射應(yīng)用是曝光(Exposure)參數(shù)的使用。你可能還記得之前我們?cè)诮榻B里講到的,HDR圖片包含在不同曝光等級(jí)的細(xì)節(jié)。如果我們有一個(gè)場(chǎng)景要展現(xiàn)日夜交替,我們當(dāng)然會(huì)在白天使用低曝光,在夜間使用高曝光,就像人眼調(diào)節(jié)方式一樣。有了這個(gè)曝光參數(shù),我們可以去設(shè)置可以同時(shí)在白天和夜晚不同光照條件工作的光照參數(shù),我們只需要調(diào)整曝光參數(shù)就行了。

一個(gè)簡(jiǎn)單的曝光色調(diào)映射算法會(huì)像這樣:

[cpp] view plain copy

  1. uniform float exposure;  

  2.  

  3. void main()  

  4. {              

  5.    const float gamma = 2.2;  

  6.    vec3 hdrColor = texture(hdrBuffer, TexCoords).rgb;  

  7.  

  8.    // 曝光色調(diào)映射  

  9.    vec3 mapped = vec3(1.0) - exp(-hdrColor * exposure);  

  10.    // Gamma校正  

  11.    mapped = pow(mapped, vec3(1.0 / gamma));  

  12.  

  13.    color = vec4(mapped, 1.0);  

  14. }    


在這里我們將exposure定義為默認(rèn)為1.0的uniform,從而允許我們更加設(shè)定我們是要注重黑暗還是明亮的區(qū)域的HDR顏色值。舉例來(lái)說(shuō),高曝光值會(huì)使隧道的黑暗部分顯示更多的細(xì)節(jié),然而低曝光值會(huì)顯著減少黑暗區(qū)域的細(xì)節(jié),但允許我們看到更多明亮區(qū)域的細(xì)節(jié)。下面這組圖片展示了在不同曝光值下的通道:

這個(gè)圖片清晰地展示了HDR渲染的優(yōu)點(diǎn)。通過(guò)改變曝光等級(jí),我們可以看見場(chǎng)景的很多細(xì)節(jié),而這些細(xì)節(jié)可能在LDR渲染中都被丟失了。比如說(shuō)隧道盡頭,在正常曝光下木頭結(jié)構(gòu)隱約可見,但用低曝光木頭的花紋就可以清晰看見了。對(duì)于近處的木頭花紋來(lái)說(shuō),在高曝光下會(huì)能更好的看見。

zui后把實(shí)現(xiàn)的源代碼給讀者展示如下,首先展示的是頂點(diǎn)著色器代碼:


[cpp] view plain copy

  1. #version 330 core  

  2. layout (location = 0) in vec3 position;  

  3. layout (location = 1) in vec2 texCoords;  

  4.  

  5. out vec2 TexCoords;  

  6.  

  7. void main()  

  8. {  

  9.    gl_Position = vec4(position, 1.0f);  

  10.    TexCoords = texCoords;  

  11. }  


片段著色器代碼如下所示:



[cpp] view plain copy

  1. #version 330 core  

  2. out vec4 color;  

  3. in vec2 TexCoords;  

  4.  

  5. uniform sampler2D hdrBuffer;  

  6. uniform float exposure;  

  7. uniform bool hdr;  

  8.  

  9. void main()  

  10. {              

  11.    const float gamma = 2.2;  

  12.    vec3 hdrColor = texture(hdrBuffer, TexCoords).rgb;  

  13.  

  14.    // reinhard  

  15.    // vec3 result = hdrColor / (hdrColor + vec3(1.0));  

  16.    // exposure  

  17.    vec3 result = vec3(1.0) - exp(-hdrColor * exposure);  

  18.    // also gamma correct while we're at it        

  19.    result = pow(result, vec3(1.0 / gamma));  

  20.    color = vec4(result, 1.0f);  

  21. }  



在這里展示的兩個(gè)色調(diào)映射算法僅僅是大量(更先進(jìn))的色調(diào)映射算法中的一小部分,這些算法各有長(zhǎng)短.一些色調(diào)映射算法傾向于特定的某種顏色/強(qiáng)度,也有一些算法同時(shí)顯示低于高曝光顏色從而能夠顯示更加多彩和精細(xì)的圖像。也有一些技巧被稱作自動(dòng)曝光調(diào)整(Automatic Exposure Adjustment)或者叫人眼適應(yīng)(Eye Adaptation)技術(shù),它能夠檢測(cè)前一幀場(chǎng)景的亮度并且緩慢調(diào)整曝光參數(shù)模仿人眼使得場(chǎng)景在黑暗區(qū)域逐漸變亮或者在明亮區(qū)域逐漸變暗,

HDR渲染的真正優(yōu)點(diǎn)在龐大和復(fù)雜的場(chǎng)景中應(yīng)用復(fù)雜光照算法會(huì)被顯示出來(lái),但是出于教學(xué)目的創(chuàng)建這樣復(fù)雜的演示場(chǎng)景是很困難的,這個(gè)教程用的場(chǎng)景是很小的,而且缺乏細(xì)節(jié)。但是如此簡(jiǎn)單的演示也是能夠顯示出HDR渲染的一些優(yōu)點(diǎn):在明亮和黑暗區(qū)域無(wú)細(xì)節(jié)損失,因?yàn)樗鼈兛梢杂缮{(diào)映射重新獲??;多個(gè)光照的疊加不會(huì)導(dǎo)致亮度被約束的區(qū)域;光照可以被設(shè)定為他們?cè)瓉?lái)的亮度而不是被LDR值限定。而且,HDR渲染也使一些有趣的效果更加可行和真實(shí); 其中一個(gè)效果叫做泛光(Bloom)


“文章為轉(zhuǎn)載,如有版權(quán)爭(zhēng)議請(qǐng)管理員,我們將刪除文章!"

更多產(chǎn)品信息點(diǎn)擊了解

日韩在线免费av网站-免费啪视频一区二区三区在线观看-久操热在线视频免费观看-91亚洲国产成人精品性色| 国产偷拍自拍视频在线观看-丰满欧美熟妇视频在线-亚洲午夜激情在线观看-四虎视频精品免费观看| 日韩精品中文一区二区三区在线-午夜视频国产在线观看-日韩中文字幕av有码-最新日韩精品视频免费在线观看| 特大毛片毛片免费视频-成人伊人青草久久综合网-91亚洲蜜桃内射后入在线观看-日韩情色电影中文字幕| 亚洲国内精品一区二区在线-亚洲国产成人精品青青草原-精品在线视频免费在线观看视频-亚洲美女激情福利在线| 亚洲一区二区欧美日韩-亚洲精品四虎在线观看-国产夫妻在线视频播放-激情人妻中文字幕中字福利在线| 国产一级特黄高清大片-欧美精品一区二区三区精品-久久亚洲av成人网人人动漫-日本熟女网站一区二区三区| 成人在线自拍偷拍视频-国产剧情av中文字幕-久久国产劲爆内射日本-劲爆欧美中文字幕精品视频| 日韩av不卡一区二区-国产白丝精品91久久-午夜福利理论片在线播放-国产粉饼哪个牌子好用| 日本中文字幕人妻在线视频-中文字幕亚洲中文字幕亚洲-欧美午夜福利天堂视频-日韩人妻中文字幕精品| 日韩熟女av在线观看-中文字幕人妻丝祙乱一区三区-亚洲国产精品第一区二区三区-欧美制服丝袜一区二区三区| 午夜视频在线观看免费国产-国产精品91在线视频-欧美黄片在线免费播放-久久综合九色综合婷婷| 18禁成人一区二区三区av-亚洲热热日韩精品中文字幕-亚洲中文字幕视频第一二区-亚洲国产日韩精品在线| 免费观看国产裸体视频-久久亚洲精精品中文字幕早川悠里-99精品国产一区二区青青牛奶-久久精品成人av免费观看| 亚洲熟妇激情视频99-丝袜美腿诱惑av网站在线观看-欧美国产综合激情一区精品-激情综合网激情五月我去也| 开心五月激情五月综合-国产88精品久久久久久-乱人伦精品视频在线观看-秘社一区二区三区一午夜日本| 亚洲精品一区网站在线观看-亚洲精品一区二区三区婷婷月-国产aⅴ精品一区二区三区久久-在线综合亚洲中文精品| 国产精品羞羞答答色哟哟-最新麻豆精品在线视频-丰满多毛熟妇的大阴户-精品国产乱子伦一区二区三女| 免费在线观看午夜视频-成人性生交大片免费网站-国产一区二区精品久久胖女人-亚州综合国产精品天码av| 91精品久久综合熟女-日产精品毛片av一区二区三区-国产精品永久在线播放-一区二区中文字幕在线视频| 成人精品视频一区二区三区不卡-中文字幕一区二区三区在线乱码-国产无av码在线观看麻豆-成年人三级自拍片自拍| 国产精品一区二区蜜桃视频-四十路五十路熟女丰满av-成人av天堂中文在线-亚洲精品成人国产在线| 欧美性色婷婷久久久精品-久久这里只有精品国产宅男av-久久男女爱爱视频免费观看-另类福利亚洲丝袜激情在线| 日韩av免费在线网站-在线一区二区三区视频免费观看-日韩一本不卡一区二区三区-国产成人国产在线播放| 亚洲天堂av免费在线看-操老熟女中国老太自拍-夫妻性生生活免费视频-日韩av有码高清在线| 成人福利一区二区视频在线-亚洲婷婷综合久久一本伊一区-日本高清午夜一区二区三区-日韩欧美黄色激情视频| 能看免费欧美一级黄片-男女视频网站免费精品播放-日本高清在线一区二区三区-熟女少妇免费视频网站观看| 免费在线观看午夜视频-成人性生交大片免费网站-国产一区二区精品久久胖女人-亚州综合国产精品天码av| 少妇被躁潮到高潮无人码-日本欧美一级二级三级不卡-国产一区视频二区视频-亚洲无人区码一二三区别| 追虎擒龙国语高清在线观看完整版-色婷婷一区二区三区免费-网友自拍在线视频国产-草草久在线视频在线观看| 久久一日本道色综合久久大香-欧美午夜福利视频网站-亚洲av午夜精品一区二区-日韩精品区一区二区三区激情| 大屁股丰满肥臀国产在线-亚洲国产一区二区精品在线观看-久久黄色精品内射胖女人-日韩精品国产综合一区二区| 日本三区三级岛国片在线观看-免费av在线观看岛国大片-av在线导航国产精品-中文资源网天堂网亚洲精品| 成人精品一区二区三区不卡-十八禁啪啪啪一区二区三区-后入黑丝美女在线观看-国产熟女啪啪免费视频| 亚洲老妈激情一区二区三区-夜晚福利视频亚洲精品自拍视频-亚洲av永久精品一区二区在线-中文国产人精品久久蜜桃| 日本一区二区免费电影院-亚洲精品成人av观看-国产级一片内射视步页-日韩高清在线亚洲专区视频| 五月激情综合网俺也去-美欧日韩一区二区三区视频-午夜看片福利在线观看-色老板在线免费观看视频日麻批| 亚洲永久精品在线观看-成人av在线观看免费-蜜臀av免费一区二区三区-成人av在线久色播放| 青青青视频蜜桃一区二区-粗大挺进人妻中文字幕-国产小视频在线看不卡-国产精品一区免费在线观看| 色和尚在线视频久天天-少妇高潮太爽了在线免费观看-伊人久久大香线蕉午夜av一区-亚洲国产精品不伦不卡| 久久夜色国产精品亚洲-国产视频一区二区三区免费观看-亚洲一区二区成人在线观看-日韩精品一区二区三区在线视频|