Changeset 2397 for GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreDepthShadowReceiverRenderTechnique.cpp
- Timestamp:
- 05/28/07 16:30:37 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreDepthShadowReceiverRenderTechnique.cpp
r2372 r2397 19 19 SceneBlendFactor passBlendingDEST, 20 20 bool createNewPasses, 21 int startTextureUnitID, 21 int startTextureUnitID, 22 bool nearestLightsFromCamera, 22 23 Pass* pass, 23 24 OgreRenderable* parentRenderable, … … 42 43 this->createNewPasses = createNewPasses; 43 44 this->startTextureUnitID = startTextureUnitID; 45 46 this->nearestLightsFromCamera = nearestLightsFromCamera; 44 47 45 48 if(createNewPasses) … … 86 89 { 87 90 LightList lights; 91 Vector3 center = OgreIlluminationManager::getSingleton().getMainCamera()->getWorldPosition(); 92 if(!nearestLightsFromCamera) 93 center = ((OgreSharedRuns*) sharedRuns)->getRootPosition(); 88 94 Root::getSingleton()._getCurrentSceneManager()->_populateLightList( 89 ((OgreSharedRuns*) sharedRuns)->getRootPosition(),95 center, 90 96 100000.0, 91 97 lights); … … 336 342 f->startTextureUnitID = StringConverter::parseInt(params); 337 343 } 344 void parseNearestFromCamera(String& params, RenderTechniqueFactory* factory) 345 { 346 OgreDepthShadowReceiverRenderTechniqueFactory* f = (OgreDepthShadowReceiverRenderTechniqueFactory*) factory; 347 f->nearestLightsFromCamera = StringConverter::parseBool(params); 348 } 338 349 } 339 350 … … 358 369 this->attributeParsers.insert(AttribParserList::value_type("new_passes", (ILLUM_ATTRIBUTE_PARSER) parseCreateNewPasses)); 359 370 this->attributeParsers.insert(AttribParserList::value_type("start_tex_id", (ILLUM_ATTRIBUTE_PARSER) parseStartTexID)); 371 this->attributeParsers.insert(AttribParserList::value_type("nearest_from_camera", (ILLUM_ATTRIBUTE_PARSER) parseNearestFromCamera)); 360 372 } 361 373 … … 382 394 createNewPasses = true; 383 395 startTextureUnitID = 0; 396 nearestLightsFromCamera = true; 384 397 385 398 parseParams(params); … … 401 414 createNewPasses, 402 415 startTextureUnitID, 416 nearestLightsFromCamera, 403 417 pass, 404 418 parentRenderable, … … 408 422 } 409 423 424 bool OgreDepthShadowReceiverRenderTechniqueFactory::needMaterialCopy(IllumTechniqueParams* params) 425 { 426 nearestLightsFromCamera = true; 427 parseParams(params); 428 if(nearestLightsFromCamera) 429 return false; 430 else 431 return true; 432 } 433
Note: See TracChangeset
for help on using the changeset viewer.