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

正文內(nèi)容

建立高動態(tài)范圍(hdr)渲染器-資料下載頁

2025-08-04 16:25本頁面
  

【正文】 GL_ARB_draw_buffers : enableuniform sampler2D texColor。uniform float AveLum。uniform int imgH,imgW。void main(){ float dx = (imgW)。 float dy = (imgH)。 //對texColor進(jìn)行采樣 vec4 color = texture2D(texColor,gl_TexCoord[0].xy)。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(dx*,))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(dx*,dy))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy*))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(,dy*))。 color += texture2D(texColor,gl_TexCoord[0].xy+vec2(dx*,dy*))。 color /= 。 //計算該像素在Tone Mapping之后的亮度值,如果依然很大,則該像素將產(chǎn)生光暈 vec4 cout = vec4(,)。 float lum = * + * + * 。 vec4 p = color*(lum/AveLum)。 p /= vec4(vec4(,)+p)。 float luml = (++)/。 if (luml ) { cout = p。 } gl_FragData[0] = cout。 }Tone Mapping 和輸出//uniform sampler2D texSrc。uniform sampler2D texBloom。uniform float AveLum。uniform float Key。const vec4 lumfact = vec4(,)。void main(){ vec4 color = texture2D(texSrc,gl_TexCoord[0].xy)。 float lum = dot(color , lumfact)。 color *= Key *lum/AveLum。 color /= vec4(vec4(,)+color)。 gl_FragColor = clamp(color + texture2D(texBloom,gl_TexCoord[0].xy)*, ,)。}補(bǔ)充:修改后的算法詳細(xì)流程 在寫完本文后,我發(fā)現(xiàn)原有算法有些不足之處,在texColor下采樣到texLumSample的過程中損失過大,導(dǎo)致光暈的形狀不能得到很好的重現(xiàn),且當(dāng)高亮區(qū)域較小時會導(dǎo)致光暈完全消失,同時光暈還有抖動現(xiàn)象。近來也有一些朋友對算法的部分細(xì)節(jié)不太理解,這里我將把算法流程詳細(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大小)。 渲染操作。將場景渲染到texColor。 HDR后處理操作:(如10幀)執(zhí)行以下操作(1)將texColor下采樣到imgQuater。(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)致速度下降,但通過改進(jìn)算法完全可以直接在GPU上完成曝光適應(yīng)過程,這樣就可以省去回讀操作),抽出texColor中的高亮部分,并下采樣到imgHalf中。,再把imgQuater下采樣到imgEighth。(,)。,對texColor進(jìn)行Tone Mapping,映射之后的值和imgEighth(也即Bloom Map)的相應(yīng)的值相加后輸出到屏幕幀緩沖。整個過程就是這樣,如果還有不明白的地方,歡迎和我交流。(推薦使用留言板,這樣可以更好地同他人共享)參考文獻(xiàn)   [1] Reinhard, Erik, Mike Stark, Peter Shirley, and James Ferwerda. Photographic Tone Reproduction for Digital Images. 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
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1