Changeset 1725


Ignore:
Timestamp:
11/08/06 14:04:22 (18 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/Lib/Illum/IllumModule
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/include/RenderTechniques/ColorCubeMapRenderTechnique.h

    r1722 r1725  
    3434                                                                bool renderSelf, 
    3535                                                                bool renderEnvironment, 
     36                                                                int layer, 
    3637                                                                ElementaryRenderable* parentRenderable, 
    3738                                                                TechniqueGroup* parentTechniqueGroup 
     
    5051 
    5152protected: 
    52          
    5353        virtual void colorCubeMapRunChanged(RenderingRun* run) = 0;      
    5454}; 
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/include/RenderTechniques/CubeMapRenderTechnique.h

    r1722 r1725  
    3434                                                        bool renderSelf, 
    3535                                                        bool renderEnvironment, 
     36                                                        int layer, 
    3637                                                        ElementaryRenderable* parentRenderable, 
    3738                                                        TechniqueGroup* parentTechniqueGroup 
     
    8485        bool renderSelf; 
    8586        bool renderEnvironment; 
     87        int layer; 
     88        RenderingRunType cubemapLayer;   
     89         
    8690        virtual RenderingRun* createCubeMapRun() = 0; 
    8791        virtual void cubeMapRunChanged(RenderingRun* run) = 0;   
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/include/RenderTechniques/DistanceCubeMapRenderTechnique.h

    r1722 r1725  
    3434                                                        bool renderSelf, 
    3535                                                        bool renderEnvironment, 
     36                                                        int layer, 
    3637                                                        ElementaryRenderable* parentRenderable, 
    3738                                                        TechniqueGroup* parentTechniqueGroup 
     
    5253 
    5354protected: 
     55         
    5456        /** 
    5557                        @brief Called if the changed run is a ColorCubeMapRenderingRun. 
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/src/RenderTechniques/ColorCubeMapRenderTechnique.cpp

    r1722 r1725  
    1212                                                                                                                        bool renderSelf, 
    1313                                                                                                                        bool renderEnvironment, 
     14                                                                                                                        int layer, 
    1415                                                                                                                        ElementaryRenderable* parentRenderable, 
    1516                                                                                                                        TechniqueGroup* parentTechniqueGroup) 
     
    1718                                                                                                                        :CubeMapRenderTechnique( startFrame, cubeMapUpdateInterval, cubeMapResolution, 
    1819                                                                                                                                                                        useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, 
    19                                                                                                                                                                         updateAllFace, renderSelf, renderEnvironment, 
     20                                                                                                                                                                        updateAllFace, renderSelf, renderEnvironment, layer, 
    2021                                                                                                                                                                        parentRenderable, parentTechniqueGroup), 
    2122                                                                                                                     RenderTechnique(parentRenderable, parentTechniqueGroup) 
    2223{ 
    23          
     24        switch(layer) 
     25        { 
     26                case 0: 
     27                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP; 
     28                        break; 
     29                case 1: 
     30                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L1; 
     31                        break; 
     32                case 2: 
     33                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L2; 
     34                        break; 
     35                case 3: 
     36                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L3; 
     37                        break; 
     38                case 4: 
     39                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L4; 
     40                        break; 
     41                case 5: 
     42                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L5; 
     43                        break; 
     44                case 6: 
     45                        cubemapLayer = ILLUMRUN_COLOR_CUBEMAP_L6; 
     46                        break; 
     47        } 
    2448} 
    2549 
     
    3155void ColorCubeMapRenderTechnique::runChanged(RenderingRunType runType, RenderingRun* run) 
    3256{ 
    33         if(runType == ILLUMRUN_COLOR_CUBEMAP) 
     57        if(runType == cubemapLayer) 
    3458                colorCubeMapRunChanged(run); 
    3559} 
     
    3761 void ColorCubeMapRenderTechnique::update(unsigned long frameNum) 
    3862{        
    39                 sharedRuns->updateRun(ILLUMRUN_COLOR_CUBEMAP, frameNum);         
     63                sharedRuns->updateRun(cubemapLayer, frameNum);   
    4064} 
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/src/RenderTechniques/ConvolvedCubeMapRenderTechnique.cpp

    r1722 r1725  
    1818                                                                                                :CubeMapRenderTechnique( startFrame, cubeMapUpdateInterval, cubeMapResolution, 
    1919                                                                                                                                                                        useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, 
    20                                                                                                                                                                         updateAllFace, renderSelf, renderEnvironment, 
     20                                                                                                                                                                        updateAllFace, renderSelf, renderEnvironment, 0, 
    2121                                                                                                                                                                        parentRenderable, parentTechniqueGroup), 
    2222                                                                                                RenderTechnique(parentRenderable, parentTechniqueGroup) 
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/src/RenderTechniques/CubeMapRenderTechnique.cpp

    r1722 r1725  
    1212                                                                                                bool renderSelf, 
    1313                                                                                                bool renderEnvironment, 
     14                                                                                                int layer, 
    1415                                                                                                ElementaryRenderable* parentRenderable, 
    1516                                                                                                TechniqueGroup* parentTechniqueGroup) 
    1617                                                        :RenderTechnique( parentRenderable, parentTechniqueGroup) 
    1718{ 
     19        this->layer = layer;     
     20        cubemapLayer = ILLUMRUN_CUBEMAP; 
     21 
    1822        this->useDistCalc = useDistCalc; 
    1923        this->useFaceAngleCalc = useFaceAngleCalc; 
  • GTP/trunk/Lib/Illum/IllumModule/IllumModule/src/RenderTechniques/DistanceCubeMapRenderTechnique.cpp

    r1722 r1725  
    1212                                                                                                bool renderSelf, 
    1313                                                                                                bool renderEnvironment, 
     14                                                                                                int layer, 
    1415                                                                                                ElementaryRenderable* parentRenderable, 
    1516                                                                                                TechniqueGroup* parentTechniqueGroup) 
     
    1718                                                                                                :CubeMapRenderTechnique( startFrame, cubeMapUpdateInterval, cubeMapResolution, 
    1819                                                                                                                                                                        useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, 
    19                                                                                                                                                                         updateAllFace, renderSelf, renderEnvironment, 
     20                                                                                                                                                                        updateAllFace, renderSelf, renderEnvironment, layer, 
    2021                                                                                                                                                                        parentRenderable, parentTechniqueGroup), 
    2122                                                                                                 RenderTechnique(parentRenderable, parentTechniqueGroup) 
     23{ 
     24        switch(layer) 
     25        { 
     26                case 0: 
     27                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP; 
     28                        break; 
     29                case 1: 
     30                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L1; 
     31                        break; 
     32                case 2: 
     33                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L2; 
     34                        break; 
     35                case 3: 
     36                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L3; 
     37                        break; 
     38                case 4: 
     39                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L4; 
     40                        break; 
     41                case 5: 
     42                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L5; 
     43                        break; 
     44                case 6: 
     45                        cubemapLayer = ILLUMRUN_DISTANCE_CUBEMAP_L6; 
     46                        break; 
     47        } 
     48} 
     49 
     50DistanceCubeMapRenderTechnique::~DistanceCubeMapRenderTechnique() 
    2251{ 
    2352         
    2453} 
    2554 
    26 DistanceCubeMapRenderTechnique::~DistanceCubeMapRenderTechnique() 
    27 { 
    28  
    29 } 
    30  
    3155void DistanceCubeMapRenderTechnique::runChanged(RenderingRunType runType, RenderingRun* run) 
    3256{ 
    33         if(runType == ILLUMRUN_DISTANCE_CUBEMAP) 
     57        if(runType == cubemapLayer) 
    3458                distanceCubeMapRunChanged(run); 
    3559} 
     
    3761void DistanceCubeMapRenderTechnique::runUpdated(RenderingRunType runType, RenderingRun* run) 
    3862{ 
    39         if(runType == ILLUMRUN_DISTANCE_CUBEMAP) 
     63        if(runType == cubemapLayer) 
    4064                distanceCubeMapRunUpdated(run); 
    4165} 
     
    4367 void DistanceCubeMapRenderTechnique::update(unsigned long frameNum) 
    4468{        
    45         sharedRuns->updateRun(ILLUMRUN_DISTANCE_CUBEMAP, frameNum);      
     69        sharedRuns->updateRun(cubemapLayer, frameNum);   
    4670} 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreColorCubeMapRenderTechnique.h

    r1722 r1725  
    5151                                                                        String selfMaterial, 
    5252                                                                        String environmentMaterial, 
     53                                                                        int layer, 
    5354                                                                        Pass* pass, 
    5455                                                                        OgreRenderable* parentRenderable, 
     
    6465         
    6566protected:               
    66          
    6767        //inherited 
    6868        void colorCubeMapRunChanged(RenderingRun* run);  
     
    7272{ 
    7373public: 
    74          
    7574        OgreColorCubeMapRenderTechniqueFactory(); 
    7675 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCubeMapRenderTechnique.h

    r1722 r1725  
    5151                                                        String selfMaterial, 
    5252                                                        String environmentMaterial, 
     53                                                        int layer, 
    5354                                                        Pass* pass, 
    5455                                                        OgreRenderable* parentRenderable, 
     
    102103        String selfMaterial; 
    103104        String environmentMaterial; 
     105        int layer; 
    104106}; 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreDistanceCubeMapRenderTechnique.h

    r1722 r1725  
    5151                                                        String selfMaterial, 
    5252                                                        String environmentMaterial, 
     53                                                        int layer, 
    5354                                                        Pass* pass, 
    5455                                                        OgreRenderable* parentRenderable, 
     
    7778{ 
    7879public: 
    79          
    8080        OgreDistanceCubeMapRenderTechniqueFactory(); 
    8181 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderingRuns/OgreCubeMapRenderingRun.h

    r1722 r1725  
    4848                                                                 bool renderEnvironment, 
    4949                                                                 String selfMaterial, 
    50                                                                  String environmentMaterial); 
     50                                                                 String environmentMaterial, 
     51                                                                 RenderingRunType cubemapRunType); 
    5152        /** 
    5253                @brief returns the name of the resulting color cubemap texture 
     
    7273        String environmentMaterial; 
    7374        bool useEnvMaterial; 
    74  
     75        RenderingRunType cubemapRunType; 
    7576         
    7677         
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/OgreRenderingRun.cpp

    r1670 r1725  
    110110                v->setOverlaysEnabled(false); 
    111111                rt->setAutoUpdated(false); 
    112  
     112                v->setBackgroundColour(clearColor); 
     113                 
    113114                Root::getSingleton().getRenderSystem()->_setViewport(v); 
    114115                Root::getSingleton().getRenderSystem()->clearFrameBuffer( FBT_COLOUR, clearColor); 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreCausticCasterRenderTechnique.cpp

    r1722 r1725  
    132132                                                                                true, 
    133133                                                                                "", 
    134                                                                                 "GameTools/DistanceShader"); 
     134                                                                                "GameTools/DistanceShader", 
     135                                                                                ILLUMRUN_DISTANCE_CUBEMAP); 
    135136 
    136137} 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreColorCubeMapRenderTechnique.cpp

    r1722 r1725  
    1616                                                                                                                String selfMaterial, 
    1717                                                                                                                String environmentMaterial, 
     18                                                                                                                int layer, 
    1819                                                                                                                Pass* pass, 
    1920                                                                                                                OgreRenderable* parentRenderable, 
    2021                                                                                                                OgreTechniqueGroup* parentTechniqueGroup) 
    21                                                                                                                         :OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, pass, parentRenderable, parentTechniqueGroup), 
    22                                                                                                                         ColorCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
    23                                                                                                                         CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
     22                                                                                                                        :OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, layer, pass, parentRenderable, parentTechniqueGroup), 
     23                                                                                                                        ColorCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
     24                                                                                                                        CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
    2425                                                                                                                        RenderTechnique(parentRenderable, parentTechniqueGroup)  
    2526{        
    26         texturePostFix = "_COLORCUBEMAP"; 
     27        switch(layer) 
     28        { 
     29                case 0: 
     30                        texturePostFix = "_COLORCUBEMAP"; 
     31                        break; 
     32                case 1: 
     33                        texturePostFix = "_COLORCUBEMAP_L1"; 
     34                        break; 
     35                case 2: 
     36                        texturePostFix = "_COLORCUBEMAP_L2"; 
     37                        break; 
     38                case 3: 
     39                        texturePostFix = "_COLORCUBEMAP_L3"; 
     40                        break; 
     41                case 4: 
     42                        texturePostFix = "_COLORCUBEMAP_L4"; 
     43                        break; 
     44                case 5: 
     45                        texturePostFix = "_COLORCUBEMAP_L5"; 
     46                        break; 
     47                case 6: 
     48                        texturePostFix = "_COLORCUBEMAP_L6"; 
     49                        break; 
     50        } 
    2751 
    28         if(sharedRuns->getRun(ILLUMRUN_COLOR_CUBEMAP) == 0) 
    29                 sharedRuns->addRun(ILLUMRUN_COLOR_CUBEMAP, createCubeMapRun()); 
     52        if(sharedRuns->getRun(cubemapLayer) == 0) 
     53                sharedRuns->addRun(cubemapLayer, createCubeMapRun()); 
    3054         
    31         colorCubeMapRunChanged(sharedRuns->getRun(ILLUMRUN_COLOR_CUBEMAP)); 
     55        colorCubeMapRunChanged(sharedRuns->getRun(cubemapLayer)); 
    3256} 
    3357 
     
    5781} 
    5882 
    59  
    60  
    61  
    6283///Technique factory 
    6384OgreColorCubeMapRenderTechniqueFactory::OgreColorCubeMapRenderTechniqueFactory() 
    6485{ 
    65         typeName = "ColorCubeMap";       
     86        typeName = "ColorCubeMap"; 
    6687} 
    6788 
     
    91112                                                                                                        selfMaterial, 
    92113                                                                                                        environmentMaterial, 
     114                                                                                                        layer, 
    93115                                                                                                        pass, 
    94116                                                                                                        parentRenderable, 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreConvolvedCubeMapRenderTechnique.cpp

    r1722 r1725  
    2222                                                                                                                OgreTechniqueGroup* parentTechniqueGroup) 
    2323                                                        : 
    24                                                         OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, pass, parentRenderable, parentTechniqueGroup), 
    25                                                         CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
     24                                                        OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, layer, pass, parentRenderable, parentTechniqueGroup), 
     25                                                        CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
    2626                                                        ConvolvedCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, reducedCubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
    2727                                                        RenderTechnique(parentRenderable, parentTechniqueGroup)  
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreCubeMapRenderTechnique.cpp

    r1722 r1725  
    1616                                                                                                                String selfMaterial, 
    1717                                                                                                                String environmentMaterial, 
     18                                                                                                                int layer, 
    1819                                                                                                                Pass* pass, 
    1920                                                                                                                OgreRenderable* parentRenderable, 
     
    2122                                                                                                                bool createCubeRun) 
    2223                                                        :OgreRenderTechnique( pass, parentRenderable, parentTechniqueGroup), 
    23                                                         CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
     24                                                        CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
    2425                                                        RenderTechnique(parentRenderable, parentTechniqueGroup)  
    2526{        
     
    6768                                                                                                renderEnvironment, 
    6869                                                                                                selfMaterial, 
    69                                                                                                 environmentMaterial); 
     70                                                                                                environmentMaterial, 
     71                                                                                                cubemapLayer); 
    7072} 
    7173 
     
    167169                f->environmentMaterial =  params; 
    168170        } 
     171        void parseLayer(String& params, RenderTechniqueFactory* factory) 
     172        { 
     173                OgreCubeMapRenderTechniqueFactory* f = (OgreCubeMapRenderTechniqueFactory*) factory; 
     174                f->layer =  StringConverter::parseInt(params); 
     175        } 
     176 
    169177} 
    170178///Technique factory 
    171179OgreCubeMapRenderTechniqueFactory::OgreCubeMapRenderTechniqueFactory() 
    172180{ 
    173          
     181        typeName = "CubeMap"; 
     182 
    174183        using namespace CubemapParsers; 
    175184 
     
    186195        this->attributeParsers.insert(AttribParserList::value_type("self_material", (ILLUM_ATTRIBUTE_PARSER) parseSelfMaterial)); 
    187196        this->attributeParsers.insert(AttribParserList::value_type("env_material", (ILLUM_ATTRIBUTE_PARSER) parseEnvMaterial)); 
     197        this->attributeParsers.insert(AttribParserList::value_type("layer", (ILLUM_ATTRIBUTE_PARSER) parseLayer)); 
    188198 
    189199} 
     
    204214        selfMaterial = ""; 
    205215        environmentMaterial = ""; 
     216        layer = 0; 
    206217} 
    207218 
     
    229240                                                                                                selfMaterial, 
    230241                                                                                                environmentMaterial, 
     242                                                                                                layer, 
    231243                                                                                                pass, 
    232244                                                                                                parentRenderable, 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderTechniques/OgreDistanceCubeMapRenderTechnique.cpp

    r1722 r1725  
    1616                                                                                                                String selfMaterial, 
    1717                                                                                                                String environmentMaterial, 
     18                                                                                                                int layer, 
    1819                                                                                                                Pass* pass, 
    1920                                                                                                                OgreRenderable* parentRenderable, 
    2021                                                                                                                OgreTechniqueGroup* parentTechniqueGroup) 
    2122                                                        : 
    22                                                         OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, pass, parentRenderable, parentTechniqueGroup), 
    23                                                         CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
    24                                                         DistanceCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, parentRenderable, parentTechniqueGroup), 
     23                                                        OgreCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, texID, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, selfMaterial, environmentMaterial, layer, pass, parentRenderable, parentTechniqueGroup), 
     24                                                        CubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
     25                                                        DistanceCubeMapRenderTechnique(startFrame, cubeMapUpdateInterval, cubeMapResolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment, layer, parentRenderable, parentTechniqueGroup), 
    2526                                                        RenderTechnique(parentRenderable, parentTechniqueGroup)  
    2627{        
    27         texturePostFix = "_DISTANCECUBEMAP"; 
     28        switch(layer) 
     29        { 
     30                case 0: 
     31                        texturePostFix = "_DISTANCECUBEMAP"; 
     32                        break; 
     33                case 1: 
     34                        texturePostFix = "_DISTANCECUBEMAP_L1"; 
     35                        break; 
     36                case 2: 
     37                        texturePostFix = "_DISTANCECUBEMAP_L2"; 
     38                        break; 
     39                case 3: 
     40                        texturePostFix = "_DISTANCECUBEMAP_L3"; 
     41                        break; 
     42                case 4: 
     43                        texturePostFix = "_DISTANCECUBEMAP_L4"; 
     44                        break; 
     45                case 5: 
     46                        texturePostFix = "_DISTANCECUBEMAP_L5"; 
     47                        break; 
     48                case 6: 
     49                        texturePostFix = "_DISTANCECUBEMAP_L6"; 
     50                        break; 
     51        } 
     52        if(sharedRuns->getRun(cubemapLayer) == 0) 
     53                sharedRuns->addRun(cubemapLayer, createCubeMapRun()); 
    2854 
    29         if(sharedRuns->getRun(ILLUMRUN_DISTANCE_CUBEMAP) == 0) 
    30                 sharedRuns->addRun(ILLUMRUN_DISTANCE_CUBEMAP, createCubeMapRun()); 
    31  
    32         distanceCubeMapRunChanged(sharedRuns->getRun(ILLUMRUN_DISTANCE_CUBEMAP)); 
     55        distanceCubeMapRunChanged(sharedRuns->getRun(cubemapLayer)); 
    3356} 
    3457 
     
    5578{ 
    5679        GpuProgramParametersSharedPtr fpParams = pass->getFragmentProgramParameters(); 
    57         Vector3 center = ((OgreSharedRuns*) sharedRuns)->getRootPosition(ILLUMRUN_DISTANCE_CUBEMAP); 
     80        Vector3 center = ((OgreSharedRuns*) sharedRuns)->getRootPosition(cubemapLayer); 
    5881        fpParams->setNamedConstant("lastCenter",center);  
    5982} 
     
    94117                                                                                                selfMaterial, 
    95118                                                                                                environmentMaterial, 
     119                                                                                                layer, 
    96120                                                                                                pass, 
    97121                                                                                                parentRenderable, 
  • GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/RenderingRuns/OgreCubeMapRenderingRun.cpp

    r1722 r1725  
    1717                                                                                                                   bool renderEnvironment, 
    1818                                                                                                                   String selfMaterial, 
    19                                                                                                                    String environmentMaterial) 
     19                                                                                                                   String environmentMaterial,                                                                                                              
     20                                                                                                                   RenderingRunType cubemapRunType) 
    2021                                                                                                                   :CubeMapRenderingRun(startFrame, updateInterval, resolution, useDistCalc, useFaceAngleCalc, distTolerance, angleTolerance, updateAllFace, renderSelf, renderEnvironment) 
    2122                                                        , OgreRenderingRun(startFrame, updateInterval) 
     
    2324 
    2425{ 
     26        this->cubemapRunType = cubemapRunType; 
    2527        this->sharedRuns = sharedRuns; 
    2628        this->name = name; 
     
    4446void OgreCubeMapRenderingRun::createCubeMap() 
    4547{ 
     48        ColourValue clearColor = ColourValue::Black; 
     49        clearColor.a = 0.0; 
    4650        cubemapTexture = createCubeRenderTexture(name,  
    4751                                                                                                sharedRuns->getRootPosition(), 
     
    4953                                                                                                PF_FLOAT16_RGBA, 
    5054                                                                                                //PF_R8G8B8A8, 
    51                                                                                                 0);      
     55                                                                                                0, 
     56                                                                                                clearColor);     
    5257} 
    5358 
    5459void OgreCubeMapRenderingRun::updateCubeFace(int facenum) 
    5560{ 
    56         OgreSharedRuns* root = (OgreSharedRuns*) sharedRuns->getRoot(ILLUMRUN_COLOR_CUBEMAP); 
     61        OgreSharedRuns* root = (OgreSharedRuns*) sharedRuns->getRoot(cubemapRunType); 
    5762        SceneManager* sm = Ogre::Root::getSingleton()._getCurrentSceneManager(); 
    5863        RenderQueue* rq = sm->getRenderQueue(); 
     
    6065        RenderTarget* rt = cubemapTexture->getBuffer(facenum, 0).getPointer()->getRenderTarget(); 
    6166        Camera*  cam =  rt->getViewport(0)->getCamera(); 
    62         Vector3 center = sharedRuns->getRootPosition(ILLUMRUN_COLOR_CUBEMAP); 
     67        Vector3 center = sharedRuns->getRootPosition(cubemapRunType); 
    6368        cam->setPosition(center); 
    6469 
     
    9499                if(renderSelf) 
    95100                { 
    96                         sharedRuns->getRoot(ILLUMRUN_COLOR_CUBEMAP)->restoreVisibility(); 
     101                        root->restoreVisibility(); 
    97102                        if(useSelfMaterial) 
    98103                                root->setMaterial(selfMaterial); 
     
    105110        rt->update(); 
    106111 
    107         //rt->writeContentsToFile("cubbe" + StringConverter::toString(facenum) + ".dds"); 
     112        //rt->writeContentsToFile( "cubeLayer" + StringConverter::toString(cubemapRunType)+ "face" + StringConverter::toString(facenum) + ".dds"); 
    108113         
    109114        if(!renderAllwithOwnColor) 
     
    132137                if(useDistCalc) 
    133138                { 
    134                         Vector3 cubemapPosition = sharedRuns->getRootPosition(ILLUMRUN_COLOR_CUBEMAP); 
    135                         float objradius = sharedRuns->getRootBoundingSphere(ILLUMRUN_COLOR_CUBEMAP).getRadius(); 
     139                        Vector3 cubemapPosition = sharedRuns->getRootPosition(cubemapRunType); 
     140                        float objradius = sharedRuns->getRootBoundingSphere(cubemapRunType).getRadius(); 
    136141                        float fov = mainCamera->getFOVy().valueRadians() / 2.0; 
    137142                        float dist = (cubemapPosition - mainCamera->getPosition()).length(); 
Note: See TracChangeset for help on using the changeset viewer.