freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

建立高動(dòng)態(tài)范圍(hdr)渲染器(存儲(chǔ)版)

2025-09-03 16:25上一頁面

下一頁面
  

【正文】 texSrc,gl_TexCoord[0].xy+vec2(dx*,dy))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color /= 。void main(){}對(duì)數(shù)采樣:// 用于對(duì)原始圖像進(jìn)行采樣,并對(duì)計(jì)算采樣后像素的亮度,然后再對(duì)亮度取對(duì)數(shù)后輸出。 float d = (imgW)。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(*d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(*d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(*d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2( *d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2( *d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2( *d,)) * 。 gl_FragData[0] = color。 color += color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(, *d)) * 。 //對(duì)texColor進(jìn)行采樣 vec4 color = texture2D(texColor,gl_TexCoord[0].xy)。 color /= 。 }Tone Mapping 和輸出//uniform sampler2D texSrc。 vec4 color = texture2D(texSrc,gl_TexCoord[0].xy)。 color *= Key *lum/AveLum。 gl_FragColor = clamp(color + texture2D(texBloom,gl_TexCoord[0].xy)*, ,)。整個(gè)過程就是這樣,如果還有不明白的地方,歡迎和我交流。(,)。 渲染操作。 if (luml ) { cout = p。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy*))。void main(){ float dx = (imgW)。 texture2D(texSrc,gl_TexCoord[0].xy+vec2(, *d)) * 。 texture2D(texSrc,gl_TexCoord[0].xy+vec2(,*d)) * 。 color += version 110extension GL_ARB_draw_buffers : enableuniform sampler2D texSrc。 接下來,我們仔細(xì)研究一下后處理的具體代碼。 lumAdapt += (lum lumAdapt) * ( 1 pow( , 30 * dTime ) )。(如果你覺得回讀是一個(gè)很慢的操作,也可以在GPU上繼續(xù)執(zhí)行下采樣操作,直到紋理大小縮小到1*1,那么這個(gè)像素的值取值數(shù)就代表了平均亮度。將texColor綁定到stdfbo對(duì)象中,并應(yīng)用stdfbo對(duì)象。CImageScaleCopy負(fù)責(zé)把一個(gè)浮點(diǎn)紋理中的數(shù)據(jù)縮小尺寸后復(fù)制到另一個(gè)紋理中去。 這個(gè)函數(shù)在場(chǎng)景繪制操作結(jié)束后執(zhí)行,它負(fù)責(zé)處理FBO中已得到的高動(dòng)態(tài)范圍數(shù)據(jù),并映射到低范圍中,并將最終結(jié)果顯示在屏幕上。所謂光暈效果,就是抽出場(chǎng)景中色彩比較亮的部分,然后加以模糊,使這些較量的像素?cái)U(kuò)散到周邊像素中,再把模糊后的圖像疊加在Tone Mapping之后的圖像上。 上式中,δ是一個(gè)較小的常數(shù),用于防止求對(duì)數(shù)的計(jì)算結(jié)果趨于負(fù)無窮的情況。經(jīng)過這樣的映射后,Lscaled并不一定處在(0,1)的范圍中,我們?cè)俳Y(jié)合(1)式,使最終的像素值處在(0,1)上: 然而,這些TMO的效果并不令人滿意。這個(gè)步驟在HDR渲染中被稱為Tone Mapping。對(duì)于渲染器而言,這意味著一個(gè)浮點(diǎn)紋理。二是對(duì)于特別亮的部分實(shí)現(xiàn)光暈的效果。 將一個(gè)寬廣的亮度范圍映射到紙張或屏幕能表示的亮度范圍類似于照相機(jī)的曝光功能。HDR已成為目前游戲應(yīng)用不可或缺的一部分。比如,太陽的亮度可能是一個(gè)白熾燈亮度的幾千倍,是一個(gè)被白熾燈照亮的桌面的亮度的幾十萬倍,這遠(yuǎn)遠(yuǎn)超出了顯示器的亮度表示能力。照相機(jī)是一個(gè)典型的從高動(dòng)態(tài)范圍映射到低動(dòng)態(tài)范圍的例子。其他圖形API在方法上是一致的,只是具體的實(shí)現(xiàn)細(xì)節(jié)略有差異。關(guān)于FBO和浮點(diǎn)紋理的使用請(qǐng)參考《OpenGL中的浮點(diǎn)紋理和幀緩沖對(duì)象》 。例如, (1) 這里介紹DirectX SDK中所介紹的方法。 這樣就完成了最終的映射。至于為什么這樣算出的
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1