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

正文內(nèi)容

建立高動(dòng)態(tài)范圍(hdr)渲染器(完整版)

  

【正文】 )對(duì)imgLumSample運(yùn)用高斯模糊。在每一幀計(jì)算出當(dāng)前幀的平均亮度LumAve后,讓LumAdapt慢慢向LumAve逼進(jìn)。 其中,lum是當(dāng)前場(chǎng)景的平均亮度,dTime是自從上一幀到現(xiàn)在所經(jīng)過(guò)的時(shí)間。 gl_TexCoord[0] = gl_MultiTexCoord0。void main(){}高斯模糊://高斯模糊在X軸和Y軸上各做一次。原理相同version 110extension GL_ARB_draw_buffers : enableuniform sampler2D texSrc。 texture2D(texSrc,gl_TexCoord[0].xy+vec2(,*d)) * 。 color += color += gl_FragData[0] = color。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy))。 float lum = * + * + * 。uniform float AveLum。補(bǔ)充:修改后的算法詳細(xì)流程創(chuàng)建以下浮點(diǎn)紋理(GL_RGBA16F_ARB):texColor(屏幕大小),img64(大小為64*64),img16(大小為16*16,后面的名稱依此類推),img4,img1,imgHalf(屏幕1/2大小),imgQuarter(屏幕1/4大小),imgEighth(屏幕1/8大小)。. ACM Transactions on Graphics (TOG), Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH), pp. 267276. New York, NY: ACM Press, 2002. [2] HDR Lighting sample in DirectX SDK。(2)(上文介紹),然后把imgQuater渲染到img64,這樣img64存儲(chǔ)imgQuater的對(duì)數(shù)亮度值(3)把img64下采樣到img16,再把img16下采樣到img4,再把img4采樣到img1,此時(shí)img1即場(chǎng)景的對(duì)數(shù)平均亮度值(4)把img1的像素值讀回主內(nèi)存,對(duì)讀回的數(shù)據(jù)執(zhí)行exp()操作后得到場(chǎng)景的平均亮度,并計(jì)算曝光適應(yīng)后的已適應(yīng)亮度lumAdapted(這一步會(huì)導(dǎo)致速度下降,但通過(guò)改進(jìn)算法完全可以直接在GPU上完成曝光適應(yīng)過(guò)程,這樣就可以省去回讀操作),抽出texColor中的高亮部分,并下采樣到imgHalf中。 在寫完本文后,我發(fā)現(xiàn)原有算法有些不足之處,在texColor下采樣到texLumSample的過(guò)程中損失過(guò)大,導(dǎo)致光暈的形狀不能得到很好的重現(xiàn),且當(dāng)高亮區(qū)域較小時(shí)會(huì)導(dǎo)致光暈完全消失,同時(shí)光暈還有抖動(dòng)現(xiàn)象。 color /= vec4(vec4(,)+color)。 float lum = dot(color , lumfact)。const vec4 lumfact = vec4(,)。 p /= vec4(vec4(,)+p)。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy*))。uniform float AveLum。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(, *d)) * 。 texture2D(texSrc,gl_TexCoord[0].xy+vec2(,*d)) * 。void main(){ float d = (imgH)。 color /= 。 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 ) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(*d,)) * 。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(*d,)) * 。 vec4 color = vec4(,)。uniform int imgW。 gl_FragData[0] = color。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,dy*))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*,dy))。 color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(d
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1