Ignore:
Timestamp:
10/01/08 00:40:59 (16 years ago)
Author:
mattausch
Message:

problematic: merging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SkyPreetham.cpp

    r2981 r2982  
    2424static CGparameter sDColorParam; 
    2525static CGparameter sEColorParam; 
     26static CGparameter sMultiplierParam; 
     27 
    2628 
    2729 
     
    6062                sDColorParam = cgGetNamedParameter(sCgSkyProgram, "dColor"); 
    6163                sEColorParam = cgGetNamedParameter(sCgSkyProgram, "eColor"); 
     64 
     65                sMultiplierParam = cgGetNamedParameter(sCgSkyProgram, "multiplier"); 
    6266        } 
    6367        else 
     
    7579        { 
    7680                cgGLLoadProgram(sCgMrtFragmentSkyDomeProgram); 
    77  
    78                 /* 
    79                 cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 
    80                 */ 
     81                //cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 
    8182        } 
    8283        else 
     
    129130        cgGLSetParameter3f(sEColorParam, ABCDE[4].x, ABCDE[4].y, ABCDE[4].z); 
    130131 
    131         cgGLEnableProfile(RenderState::sCgVertexProfile); 
    132         cgGLBindProgram(sCgSkyProgram); 
    133  
    134          
    135132        if (state->GetRenderPassType() == RenderState::DEFERRED) 
    136133        { 
    137134                cgGLEnableProfile(RenderState::sCgFragmentProfile); 
    138135                cgGLBindProgram(sCgMrtFragmentSkyDomeProgram); 
     136                 
     137                // can use tone mapping 
     138                cgGLSetParameter1f(sMultiplierParam, 1.0f); 
    139139        }        
     140        else  
     141        { 
     142                // no tone mapping => scale 
     143                cgGLSetParameter1f(sMultiplierParam, 8e-5f); 
     144        } 
     145 
     146        cgGLEnableProfile(RenderState::sCgVertexProfile); 
     147        cgGLBindProgram(sCgSkyProgram); 
    140148 
    141149        // Render sky dome. 
     
    258266 
    259267 
    260 void SkyPreetham::ComputeSunColor(const Vector3 &sunDir, Vector3 &ambient, Vector3 &diffuse) const 
     268void SkyPreetham::ComputeSunColor(const Vector3 &sunDir, Vector3 &ambient, Vector3 &diffuse, bool scaleToRange) const 
    261269{ 
    262270        // sunDir is sun direction 
     
    280288 
    281289        // downscale ambient color 
    282         if (1) 
    283                 ambient *= 5e-5f; 
     290        if (scaleToRange) 
     291                ambient *= 2e-5f; 
    284292        else 
    285293                ambient *= 1e-1f; 
     
    320328 
    321329        // Calculate final sun diffuse color. 
    322         if (1) 
    323                 diffuse = color * 1.7e-4f; 
     330        if (scaleToRange) 
     331                diffuse = color * 5e-2f; 
    324332        else 
    325333                diffuse = color * 3e-1f; 
    326334 
    327335        diffuse *= (2.0f - 1.0f * DotProd(sunDir, Vector3::UNIT_Z())); 
    328          
    329336 
    330337        //cout << "diffuse: " << Magnitude(diffuse) << " ambient: " << Magnitude(ambient) << endl; 
Note: See TracChangeset for help on using the changeset viewer.