Changeset 836 for GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include
- Timestamp:
- 04/27/06 09:24:44 (19 years ago)
- Location:
- GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/OgreIlluminationManager.h
r790 r836 38 38 */ 39 39 void fillVisibleList( RenderQueue * rq); 40 40 /** 41 @brief creates a specific type of RenderTechnique for a Renderable's pass. 42 43 It searches all registered RenderTechniqueFactories. 44 */ 45 void createTechnique(IllumTechniqueParams* params, Pass* pass, OgreRenderable* rend, OgreSharedRuns* sRuns); 46 /** 47 @brief A helper function to find the renderable object attached to a particle system (ONLY BILLBOARDSETS ARE SUPPORTED). 48 49 @param system pointer to the ParticleSystem instance to search in 50 @return pointer the connected BillboardSet instance 51 */ 52 BillboardSet* findRenderableInParticleSystem(ParticleSystem* system); 53 54 /** 55 @brief registered RenderTechniqueFactories 56 */ 57 std::list<RenderTechniqueFactory*> techniqueFactories; 41 58 /** 42 59 @brief The maximum bounding sphere radius that groupped objects ( see SharedRuns class ) can have … … 93 110 94 111 /** 112 @brief registers a RenderTechniqueFactory 113 */ 114 void addRenderTechniqueFactory(RenderTechniqueFactory* factory) 115 { 116 techniqueFactories.push_back(factory); 117 } 118 /** 95 119 @brief retirieves the maximum bounding sphere radius with two SharedRuns can be joined. 96 120 */ … … 114 138 */ 115 139 void update(unsigned long frameNumber, RenderTarget* rt); 140 /** 141 @brief searches for RenderTechniques in materials and creates them. 142 */ 143 void initTechniques(); 116 144 /** 117 145 @brief Returns a pointer to the player camera. -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/OgreRenderTechnique.h
r790 r836 42 42 Pass* pass; 43 43 }; 44 45 /** 46 @brief Base abstract class for creating RenderTechnique instances. 47 */ 48 class RenderTechniqueFactory 49 { 50 protected: 51 52 /** 53 @brief function for parsing RenderTechnique attributes 54 55 @param params attribute value stored in a String 56 */ 57 typedef void (*ILLUM_ATTRIBUTE_PARSER)(String& params, RenderTechniqueFactory* factory); 58 /** 59 @brief Keyword-mapped attribute parsers. 60 */ 61 typedef std::map<String, ILLUM_ATTRIBUTE_PARSER> AttribParserList; 62 63 /** 64 @brief map of parser functions 65 */ 66 AttribParserList attributeParsers; 67 /** 68 @brief factoryname 69 */ 70 String typeName; 71 72 public: 73 /** 74 @brief Returns if this factory can create a RenderTechnique of the given type. 75 76 @param type RenderTechnique type 77 */ 78 bool isType(String type) 79 { 80 return typeName == type; 81 } 82 83 /** 84 @brief Creates a RenderTechnique of the factory type. 85 86 @param params containes constructor parameters as NameValuePairList 87 @param pass the Pass to use in RenderTechnique constructor 88 @param pass the parentRenderable to pass to RenderTechnique constructor 89 @param pass the parentTechniqueGroup to pass to RenderTechnique constructor 90 */ 91 virtual OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 92 Pass* pass, 93 OgreRenderable* parentRenderable, 94 OgreTechniqueGroup* parentTechniqueGroup) = 0; 95 96 virtual void parseParams(IllumTechniqueParams* params); 97 98 99 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCausticCasterRenderTechnique.h
r790 r836 86 86 virtual RenderingRun* createDistanceCubeMapRun(); 87 87 }; 88 89 90 class OgreCausticCasterRenderTechniqueFactory : public RenderTechniqueFactory 91 { 92 public: 93 94 OgreCausticCasterRenderTechniqueFactory(); 95 96 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 97 Pass* pass, 98 OgreRenderable* parentRenderable, 99 OgreTechniqueGroup* parentTechniqueGroup); 100 101 102 unsigned long startFrame; 103 unsigned long photonMapUpdateInterval; 104 unsigned int photonMapResolution; 105 unsigned int causticCubeMapResolution; 106 String photonMapMaterialName; 107 String causticMapMaterialName; 108 unsigned char photonMapTexID; 109 bool updateAllFace; 110 bool useDistance; 111 112 113 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCausticRecieverRenderTechnique.h
r790 r836 83 83 84 84 }; 85 86 class OgreCausticRecieverRenderTechniqueFactory : public RenderTechniqueFactory 87 { 88 public: 89 90 OgreCausticRecieverRenderTechniqueFactory(); 91 92 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 93 Pass* pass, 94 OgreRenderable* parentRenderable, 95 OgreTechniqueGroup* parentTechniqueGroup); 96 97 98 int maxcasters; 99 String causticVertexProgram; 100 String causticFragmentProgram; 101 102 }; 103 -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreConvolvedCubeMapRenderTechnique.h
r790 r836 77 77 78 78 }; 79 80 81 82 class OgreConvoledCubeMapRenderTechniqueFactory : public RenderTechniqueFactory 83 { 84 public: 85 86 OgreConvoledCubeMapRenderTechniqueFactory(); 87 88 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 89 Pass* pass, 90 OgreRenderable* parentRenderable, 91 OgreTechniqueGroup* parentTechniqueGroup); 92 93 94 unsigned long startFrame; 95 unsigned long cubeMapUpdateInterval; 96 unsigned int cubeMapResolution; 97 unsigned int reducedCubeMapResolution; 98 unsigned char texID; 99 bool useDistCalc; 100 bool useFaceAngleCalc; 101 float distTolerance; 102 float angleTolerance; 103 bool updateAllFace; 104 105 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCubeMapRenderTechnique.h
r790 r836 73 73 74 74 }; 75 76 class OgreColorCubeMapRenderTechniqueFactory : public RenderTechniqueFactory 77 { 78 public: 79 80 OgreColorCubeMapRenderTechniqueFactory(); 81 82 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 83 Pass* pass, 84 OgreRenderable* parentRenderable, 85 OgreTechniqueGroup* parentTechniqueGroup); 86 87 88 unsigned long startFrame; 89 unsigned long cubeMapUpdateInterval; 90 unsigned int cubeMapResolution; 91 unsigned char texID; 92 bool useDistCalc; 93 bool useFaceAngleCalc; 94 float distTolerance; 95 float angleTolerance; 96 bool updateAllFace; 97 98 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreDepthShadowRecieverRenderTechnique.h
r790 r836 81 81 std::vector<Pass*> passes; 82 82 }; 83 84 85 class OgreDepthShadowRecieverRenderTechniqueFactory : public RenderTechniqueFactory 86 { 87 public: 88 89 OgreDepthShadowRecieverRenderTechniqueFactory(); 90 91 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 92 Pass* pass, 93 OgreRenderable* parentRenderable, 94 OgreTechniqueGroup* parentTechniqueGroup); 95 96 97 int maxlights; 98 String shadowVertexProgram; 99 String shadowFragmentProgram; 100 101 }; 102 -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreDistanceCubeMapRenderTechnique.h
r790 r836 74 74 75 75 }; 76 77 78 class OgreDistanceCubeMapRenderTechniqueFactory : public RenderTechniqueFactory 79 { 80 public: 81 82 OgreDistanceCubeMapRenderTechniqueFactory(); 83 84 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 85 Pass* pass, 86 OgreRenderable* parentRenderable, 87 OgreTechniqueGroup* parentTechniqueGroup); 88 89 90 unsigned long startFrame; 91 unsigned long cubeMapUpdateInterval; 92 unsigned int cubeMapResolution; 93 unsigned char texID; 94 bool useDistCalc; 95 bool useFaceAngleCalc; 96 float distTolerance; 97 float angleTolerance; 98 bool updateAllFace; 99 100 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreSBBRenderTechnique.h
r790 r836 47 47 48 48 }; 49 50 51 class OgreSBBRenderTechniqueFactory : public RenderTechniqueFactory 52 { 53 public: 54 55 OgreSBBRenderTechniqueFactory(); 56 57 OgreRenderTechnique* createInstance(IllumTechniqueParams* params, 58 Pass* pass, 59 OgreRenderable* parentRenderable, 60 OgreTechniqueGroup* parentTechniqueGroup); 61 62 63 unsigned char depthTexID; 64 65 }; 66 67
Note: See TracChangeset
for help on using the changeset viewer.