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

Legend:

Unmodified
Added
Removed
  • 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, 
Note: See TracChangeset for help on using the changeset viewer.