- Timestamp:
- 11/13/08 13:14:55 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/tonemap.cg
r3103 r3125 19 19 }; 20 20 21 22 /*float4 DownSample(frag IN,23 uniform sampler2D colors,24 uniform float2 downSampleOffs[9]): COLOR25 {26 float4 average = .0f;27 28 const float4 avgColor = tex2Dlod(colors, float4(IN.texCoord, 0, 0));29 30 float j = 0;31 float4 color;32 33 for (int i = 0; i < 9; ++ i)34 {35 color = tex2Dlod(colors, float4(IN.texCoord + downSampleOffs[i], 0, 0));36 if (abs(color.w - avgColor.w) < 1e-3f)37 {38 average += color;39 ++ j;40 }41 }42 43 //average *= 1.0f / 9.0f;44 average *= 1.0f / j;45 46 return average;47 }*/48 21 49 22 50 // let bilinear filtering do its work51 23 float4 DownSample(frag IN, 52 24 uniform sampler2D colors, 53 25 uniform float2 downSampleOffs[NUM_DOWNSAMPLES]): COLOR 54 26 { 27 // let bilinear filtering do its work 55 28 return tex2Dlod(colors, float4(IN.texCoord, 0, 0)); 56 29 /* … … 71 44 intensity. 72 45 */ 73 74 46 float4 GreyScaleDownSample(frag IN, 75 47 uniform sampler2D colors, … … 148 120 float logLum = logLumScaled * LOGLUM_RANGE + MINLOGLUM; 149 121 150 float newImageKey = exp(logLum);122 float newImageKey = max(exp(logLum), 1e-6f); 151 123 152 124 // adjust to middle gray … … 184 156 float logLumScaled = logLum * INV_LOGLUM_RANGE - logLumOffset; 185 157 158 const float expFactor = 0.1f; 186 159 // exponential smoothing of tone mapping over time 187 if (oldLogLum > 1e-5f) // loglum from last frame too bright188 OUT.col.w = lerp(oldLogLum, logLumScaled, 0.1f);160 if (oldLogLum > 1e-5f) // check if loglum from last frame too small (=> tm too bright) 161 OUT.col.w = lerp(oldLogLum, logLumScaled, expFactor); 189 162 else 190 163 OUT.col.w = logLumScaled;
Note: See TracChangeset
for help on using the changeset viewer.