Ignore:
Timestamp:
09/21/06 08:49:20 (18 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

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

    r1330 r1425  
    33#include "OgreHierarchicalParticleSystemTechnique.h" 
    44#include "OgreChildPSystemRenderingRun.h" 
     5#include "OgreLightVolumeRenderingRun.h" 
    56 
    67OgreHierarchicalParticleSystemTechnique::OgreHierarchicalParticleSystemTechnique( 
     
    4344        if(sharedRuns->getRun(ILLUMRUN_HPP_IMPOSTOR) == 0) 
    4445                sharedRuns->addRun(ILLUMRUN_HPP_IMPOSTOR, createChildPSysRenderingRun());        
    45  
     46         
    4647        ((OgreChildPSystemRenderingRun*) sharedRuns->getRun(ILLUMRUN_HPP_IMPOSTOR)->asOgreRenderingRun())->setNode(node); 
    47         impostorChanged(sharedRuns->getRun(ILLUMRUN_HPP_IMPOSTOR)); 
     48        impostorChanged(sharedRuns->getRun(ILLUMRUN_HPP_IMPOSTOR));      
    4849} 
    4950 
     
    7475} 
    7576 
    76 void OgreHierarchicalParticleSystemTechnique::update(unsigned long frameNum) 
    77 { 
    78         HierarchicalParticleSystemTechnique::update(frameNum); 
    79  
    80         OgreChildPSystemRenderingRun* r = (OgreChildPSystemRenderingRun*)  
    81                                                                                         sharedRuns->getRun(ILLUMRUN_HPP_IMPOSTOR)->asOgreRenderingRun(); 
     77 
     78void OgreHierarchicalParticleSystemTechnique::impostorUpdated(RenderingRun* run) 
     79{ 
     80        OgreChildPSystemRenderingRun* r = (OgreChildPSystemRenderingRun*) run->asOgreRenderingRun();                                                                                     
     81         
    8282        float radius = r->getSmallSysRadius(); 
    8383        if(useVParam) 
     
    155155                OgreHierarchicalParticleSystemTechniqueFactory* f = (OgreHierarchicalParticleSystemTechniqueFactory*) factory; 
    156156                f->VParamRadius = params; 
     157                f->useVParam = true; 
    157158        } 
    158159        void parseFparamRadius(String& params, RenderTechniqueFactory* factory) 
     
    160161                OgreHierarchicalParticleSystemTechniqueFactory* f = (OgreHierarchicalParticleSystemTechniqueFactory*) factory; 
    161162                f->FParamRadius = params; 
     163                f->useFParam = true; 
    162164        } 
    163165 
     
    180182        this->attributeParsers.insert(AttribParserList::value_type("particle_script", (ILLUM_ATTRIBUTE_PARSER) parseScriptName)); 
    181183        this->attributeParsers.insert(AttribParserList::value_type("material", (ILLUM_ATTRIBUTE_PARSER) parseMaterialName)); 
    182         this->attributeParsers.insert(AttribParserList::value_type("vparam_radius", (ILLUM_ATTRIBUTE_PARSER) parseFparamRadius)); 
    183         this->attributeParsers.insert(AttribParserList::value_type("fparam_radius", (ILLUM_ATTRIBUTE_PARSER) parseVparamRadius)); 
     184        this->attributeParsers.insert(AttribParserList::value_type("vparam_radius", (ILLUM_ATTRIBUTE_PARSER) parseVparamRadius)); 
     185        this->attributeParsers.insert(AttribParserList::value_type("fparam_radius", (ILLUM_ATTRIBUTE_PARSER) parseFparamRadius)); 
    184186         
    185187} 
Note: See TracChangeset for help on using the changeset viewer.