Ignore:
Timestamp:
07/02/07 04:12:36 (17 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderingRuns/OgreLightVolumeRenderingRun.cpp

    r2427 r2475  
    137137                restoreMaterials(); 
    138138 
     139        //      rt->writeContentsToFile(name+"_lightVolume.bmp"); 
    139140                //do blending 
    140141            rt = lightVolumeTexture2->getBuffer().getPointer()->getRenderTarget(); 
     
    143144                renderFullscreenQuad("GameTools/BlurLightVolume", rt);           
    144145 
    145  
     146        //      rt->writeContentsToFile(name+"_blurredlightVolume.bmp"); 
    146147        /*       
    147148                static int framecount = 0; 
     
    199200void OgreLightVolumeRenderingRun::refreshLight() 
    200201{ 
     202        Vector3 center = sharedRuns->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP); 
     203                         
    201204        SceneManager* sm = Root::getSingleton()._getCurrentSceneManager(); 
    202205        LightList list; 
    203         sm->_populateLightList(((OgreSharedRuns*)sharedRuns)->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP),100000, list); 
     206        sm->_populateLightList(center, 100000, list); 
    204207         
    205208        light = *(list.begin()); 
     
    226229                        lightVolumeCamera->setDirection( dir ); 
    227230                        Real r = sharedRuns->getRootBoundingSphere(ILLUMRUN_LIGHTVOLUME_MAP).getRadius(); 
    228                         r += baseRad; 
     231                        //r += baseRad; 
    229232                        systemRadius = r; 
    230233                        lightVolumeCamera->setPosition( sharedRuns->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP) - dir * r); 
     
    239242                {                        
    240243                        Vector3 pos = light->getDerivedPosition(); 
    241                         Vector3 dir = sharedRuns->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP) - pos; 
     244                        Vector3 dir = center - pos; 
     245                        Real r = sharedRuns->getRootBoundingSphere(ILLUMRUN_LIGHTVOLUME_MAP).getRadius(); 
     246                        //r += baseRad; 
     247                        Real d = dir.length(); 
    242248                        dir.normalise(); 
    243                         Real r = sharedRuns->getRootBoundingSphere(ILLUMRUN_LIGHTVOLUME_MAP).getRadius(); 
    244                         r += baseRad; 
    245                         lightVolumeCamera->setPosition( sharedRuns->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP) - dir * r); 
    246                         lightVolumeCamera->lookAt( sharedRuns->getRootPosition(ILLUMRUN_LIGHTVOLUME_MAP) );                      
     249                        /*float mindist = 1.5 * r; 
     250                        if(d < mindist) 
     251                        { 
     252                                pos -= dir * (mindist - d) ; 
     253                                d = mindist; 
     254                        }*/ 
     255                        lightVolumeCamera->setPosition( center - dir * d); 
     256                        lightVolumeCamera->lookAt( center );                     
    247257                        lightVolumeCamera->setProjectionType(PT_ORTHOGRAPHIC); 
    248258                        Matrix4 proj; 
Note: See TracChangeset for help on using the changeset viewer.