- Timestamp:
- 10/01/08 00:40:59 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SkyPreetham.cpp
r2981 r2982 24 24 static CGparameter sDColorParam; 25 25 static CGparameter sEColorParam; 26 static CGparameter sMultiplierParam; 27 26 28 27 29 … … 60 62 sDColorParam = cgGetNamedParameter(sCgSkyProgram, "dColor"); 61 63 sEColorParam = cgGetNamedParameter(sCgSkyProgram, "eColor"); 64 65 sMultiplierParam = cgGetNamedParameter(sCgSkyProgram, "multiplier"); 62 66 } 63 67 else … … 75 79 { 76 80 cgGLLoadProgram(sCgMrtFragmentSkyDomeProgram); 77 78 /* 79 cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 80 */ 81 //cgGLSetParameter1f(sMaxDepthParam, MAX_DEPTH_CONST / farDist); 81 82 } 82 83 else … … 129 130 cgGLSetParameter3f(sEColorParam, ABCDE[4].x, ABCDE[4].y, ABCDE[4].z); 130 131 131 cgGLEnableProfile(RenderState::sCgVertexProfile);132 cgGLBindProgram(sCgSkyProgram);133 134 135 132 if (state->GetRenderPassType() == RenderState::DEFERRED) 136 133 { 137 134 cgGLEnableProfile(RenderState::sCgFragmentProfile); 138 135 cgGLBindProgram(sCgMrtFragmentSkyDomeProgram); 136 137 // can use tone mapping 138 cgGLSetParameter1f(sMultiplierParam, 1.0f); 139 139 } 140 else 141 { 142 // no tone mapping => scale 143 cgGLSetParameter1f(sMultiplierParam, 8e-5f); 144 } 145 146 cgGLEnableProfile(RenderState::sCgVertexProfile); 147 cgGLBindProgram(sCgSkyProgram); 140 148 141 149 // Render sky dome. … … 258 266 259 267 260 void SkyPreetham::ComputeSunColor(const Vector3 &sunDir, Vector3 &ambient, Vector3 &diffuse ) const268 void SkyPreetham::ComputeSunColor(const Vector3 &sunDir, Vector3 &ambient, Vector3 &diffuse, bool scaleToRange) const 261 269 { 262 270 // sunDir is sun direction … … 280 288 281 289 // downscale ambient color 282 if ( 1)283 ambient *= 5e-5f;290 if (scaleToRange) 291 ambient *= 2e-5f; 284 292 else 285 293 ambient *= 1e-1f; … … 320 328 321 329 // Calculate final sun diffuse color. 322 if ( 1)323 diffuse = color * 1.7e-4f;330 if (scaleToRange) 331 diffuse = color * 5e-2f; 324 332 else 325 333 diffuse = color * 3e-1f; 326 334 327 335 diffuse *= (2.0f - 1.0f * DotProd(sunDir, Vector3::UNIT_Z())); 328 329 336 330 337 //cout << "diffuse: " << Magnitude(diffuse) << " ambient: " << Magnitude(ambient) << endl;
Note: See TracChangeset
for help on using the changeset viewer.