Ignore:
Timestamp:
05/28/07 16:30:37 (18 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreDepthShadowReceiverRenderTechnique.cpp

    r2372 r2397  
    1919                                                                                                SceneBlendFactor passBlendingDEST, 
    2020                                                                                                bool createNewPasses, 
    21                                                                                                 int startTextureUnitID,                                                  
     21                                                                                                int startTextureUnitID, 
     22                                                                                                bool nearestLightsFromCamera, 
    2223                                                                                                Pass* pass, 
    2324                                                                                                OgreRenderable* parentRenderable, 
     
    4243        this->createNewPasses = createNewPasses; 
    4344        this->startTextureUnitID = startTextureUnitID; 
     45 
     46        this->nearestLightsFromCamera = nearestLightsFromCamera; 
    4447                                                         
    4548        if(createNewPasses) 
     
    8689{ 
    8790        LightList lights; 
     91        Vector3 center = OgreIlluminationManager::getSingleton().getMainCamera()->getWorldPosition(); 
     92        if(!nearestLightsFromCamera) 
     93                center = ((OgreSharedRuns*) sharedRuns)->getRootPosition(); 
    8894        Root::getSingleton()._getCurrentSceneManager()->_populateLightList( 
    89                                                 ((OgreSharedRuns*) sharedRuns)->getRootPosition(), 
     95                                                        center, 
    9096                                                        100000.0, 
    9197                                                        lights); 
     
    336342                f->startTextureUnitID =  StringConverter::parseInt(params); 
    337343        } 
     344        void parseNearestFromCamera(String& params, RenderTechniqueFactory* factory) 
     345        { 
     346                OgreDepthShadowReceiverRenderTechniqueFactory* f = (OgreDepthShadowReceiverRenderTechniqueFactory*) factory; 
     347                f->nearestLightsFromCamera = StringConverter::parseBool(params); 
     348        } 
    338349} 
    339350 
     
    358369        this->attributeParsers.insert(AttribParserList::value_type("new_passes", (ILLUM_ATTRIBUTE_PARSER) parseCreateNewPasses)); 
    359370        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));     
    360372} 
    361373 
     
    382394        createNewPasses = true; 
    383395        startTextureUnitID = 0; 
     396        nearestLightsFromCamera = true; 
    384397         
    385398        parseParams(params); 
     
    401414                                                                                                createNewPasses, 
    402415                                                                                                startTextureUnitID, 
     416                                                                                                nearestLightsFromCamera, 
    403417                                                                                                pass, 
    404418                                                                                                parentRenderable, 
     
    408422} 
    409423 
     424bool OgreDepthShadowReceiverRenderTechniqueFactory::needMaterialCopy(IllumTechniqueParams* params) 
     425{ 
     426        nearestLightsFromCamera = true; 
     427        parseParams(params); 
     428        if(nearestLightsFromCamera) 
     429                return false; 
     430        else 
     431                 return true; 
     432} 
     433 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreHierarchicalParticleSystemTechnique.cpp

    r1425 r2397  
    3434        this->useVParam = useVParam; 
    3535        this->useFParam = useFParam; 
    36          
     36                 
    3737        //create the Particle system 
    3838        childPSysName = parentOgreRenderable->getName() + "_small_PSYS"; 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgrePathMapRenderTechnique.cpp

    r2366 r2397  
    2323 
    2424        this->clusters = OgreIlluminationManager::getSingleton().getPathMapClusters(parentRenderable->getName()); 
    25          
    2625        Pass* passToSet = pass; 
    2726 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreSBBRenderTechnique.cpp

    r2379 r2397  
    66 
    77OgreSBBRenderTechnique::OgreSBBRenderTechnique( unsigned char depthTexID, 
     8                                                                                           bool bindTexture, 
    89                                                                                                Pass* pass, 
    910                                                                                                OgreRenderable* parentRenderable, 
     
    1415{ 
    1516        this->depthTexID = depthTexID; 
     17        this->bindTexture = bindTexture; 
    1618         
    1719        OgreIlluminationManager::getSingleton().createGlobalRun(ILLUMRUN_SCENE_CAMERA_DEPTH);    
     
    2527        OgreIlluminationManager::getSingleton().addUpdateListener(this); 
    2628         
     29        if(bindTexture) 
    2730        pass->getTextureUnitState(depthTexID)->setTextureName(run->getDepthTextureName()); 
    2831         
     
    7073                f->depthTexID =  StringConverter::parseUnsignedInt(params); 
    7174        } 
     75        void parseBindTexture(String& params, RenderTechniqueFactory* factory) 
     76        { 
     77                OgreSBBRenderTechniqueFactory* f = (OgreSBBRenderTechniqueFactory*) factory; 
     78                f->bindTexture =  StringConverter::parseBool(params); 
     79        } 
    7280} 
    7381 
     
    8088        //register parsers 
    8189        this->attributeParsers.insert(AttribParserList::value_type("texture_unit_id", (ILLUM_ATTRIBUTE_PARSER) parseDepthTexID)); 
     90        this->attributeParsers.insert(AttribParserList::value_type("bind_texture", (ILLUM_ATTRIBUTE_PARSER) parseBindTexture)); 
    8291} 
    8392 
     
    9099        //reset parameters 
    91100        depthTexID = 1; 
    92          
     101        bindTexture = true; 
     102 
    93103        parseParams(params); 
    94104 
    95105        OgreSBBRenderTechnique* result = new OgreSBBRenderTechnique( 
    96106                                                                                                depthTexID, 
     107                                                                                                bindTexture, 
    97108                                                                                                pass, 
    98109                                                                                                parentRenderable, 
Note: See TracChangeset for help on using the changeset viewer.