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

正文內(nèi)容

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

2024-09-06 16:25上一頁面

下一頁面
  

【正文】 )對imgLumSample運用高斯模糊。在每一幀計算出當(dāng)前幀的平均亮度LumAve后,讓LumAdapt慢慢向LumAve逼進。 其中,lum是當(dāng)前場景的平均亮度,dTime是自從上一幀到現(xiàn)在所經(jīng)過的時間。 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。補充:修改后的算法詳細流程創(chuàng)建以下浮點紋理(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存儲imgQuater的對數(shù)亮度值(3)把img64下采樣到img16,再把img16下采樣到img4,再把img4采樣到img1,此時img1即場景的對數(shù)平均亮度值(4)把img1的像素值讀回主內(nèi)存,對讀回的數(shù)據(jù)執(zhí)行exp()操作后得到場景的平均亮度,并計算曝光適應(yīng)后的已適應(yīng)亮度lumAdapted(這一步會導(dǎo)致速度下降,但通過改進算法完全可以直接在GPU上完成曝光適應(yīng)過程,這樣就可以省去回讀操作),抽出texColor中的高亮部分,并下采樣到imgHalf中。 在寫完本文后,我發(fā)現(xiàn)原有算法有些不足之處,在texColor下采樣到texLumSample的過程中損失過大,導(dǎo)致光暈的形狀不能得到很好的重現(xiàn),且當(dāng)高亮區(qū)域較小時會導(dǎo)致光暈完全消失,同時光暈還有抖動現(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
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1