- Timestamp:
- 03/13/07 09:27:17 (18 years ago)
- Location:
- GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCausticCasterRenderTechnique.h
r1688 r2240 30 30 @param updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame 31 31 @param useDistance tells if a distance cubemap impostor should be used in photon hit calculation (recommended) 32 @param attenuation attenuation distance of the caustic 33 @param useTriangles sets if triangles should be rendered into the caustic cubemap instead of sprites 34 @param blurCauCubeMap sets if the caustic cubemap should be blurred (recommended if rendering caustic triangles) 32 35 @param pass the pass to operate on 33 36 @param parentRenderable the object to operate on … … 37 40 unsigned long photonMapUpdateInterval, 38 41 unsigned int photonMapResolution, 39 unsigned int c usticCubeMapResolution,42 unsigned int causticCubeMapResolution, 40 43 String photonMapMaterialName, 41 44 String causticMapMaterialName, … … 60 63 */ 61 64 const String& getCausticCubeMapName(); 65 /** 66 @see attenuation 67 */ 62 68 float getAttenuation(){return attenuation;} 63 69 … … 76 82 */ 77 83 unsigned char photonMapTexID; 84 /** 85 @brief attenuation distance of the caustic 86 */ 78 87 float attenuation; 88 /** 89 @brief sets if triangles should be rendered into the caustic cubemap instead of sprites 90 */ 79 91 bool useTriangles; 92 /** 93 @brief sets if the caustic cubemap should be blurred (recommended if rendering caustic triangles) 94 */ 80 95 bool blurCauCubeMap; 81 96 … … 96 111 }; 97 112 98 113 /** 114 @brief RenderTechniqueFactory to create OgreCausticCasterRenderTechnique instances. 115 */ 99 116 class OgreCausticCasterRenderTechniqueFactory : public RenderTechniqueFactory 100 117 { … … 121 138 bool useTriangles; 122 139 bool blurCauCubeMap; 123 124 125 140 }; -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCausticRecieverRenderTechnique.h
r836 r2240 84 84 }; 85 85 86 /** 87 @brief RenderTechniqueFactory to create OgreCausticRecieverRenderTechnique instances. 88 */ 86 89 class OgreCausticRecieverRenderTechniqueFactory : public RenderTechniqueFactory 87 90 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreColorCubeMapRenderTechnique.h
r1930 r2240 15 15 16 16 /** 17 @brief C ubeMapRenderTechnique used in an Ogre environment.17 @brief ColorCubeMapRenderTechnique used in an Ogre environment. 18 18 */ 19 19 class OgreColorCubeMapRenderTechnique : public ColorCubeMapRenderTechnique, … … 34 34 @param angleTolerance angle tolerance used in face skip 35 35 @param updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame 36 @param renderSelf sets if the object should be rendered to the cube map 37 @param renderEnvironment sets if the environment should be rendered to the cube map 38 @param selfMaterial the material that should be set for the object while rendering the cubemap 39 @param environmentMaterial the material that should be set for the environment while rendering the cubemap 40 @param layer the layer of this cubemap 41 @param getMinMax sets if the minimum and maximum values of the cubemap should be computed 42 @param attachToTexUnit sets if this cubemap should be attach to a texture unit of the pass 43 @param minVariableName sets the name of the gpu shader program parameter to which the minimum value should be bound to 44 @param maxVariableName sets the name of the gpu shader program parameter to which the maximum value should be bound to 36 45 @param pass the pass to operate on 37 46 @param parentRenderable the object to operate on … … 70 79 protected: 71 80 //inherited 72 void colorCubeMapRunChanged(RenderingRun* run); 81 void colorCubeMapRunChanged(RenderingRun* run); 82 //inherited 73 83 void colorCubeMapRunUpdated(RenderingRun* run); 74 84 }; 75 85 86 /** 87 @brief RenderTechniqueFactory to create OgreColorCubeMapRenderTechnique instances. 88 */ 76 89 class OgreColorCubeMapRenderTechniqueFactory : public OgreCubeMapRenderTechniqueFactory 77 90 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreConvolvedCubeMapRenderTechnique.h
r1886 r2240 35 35 @param angleTolerance angle tolerance used in face skip 36 36 @param updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame 37 @param renderSelf sets if the object should be rendered to the cube map 38 @param renderEnvironment sets if the environment should be rendered to the cube map 39 @param selfMaterial the material that should be set for the object while rendering the cubemap 40 @param environmentMaterial the material that should be set for the environment while rendering the cubemap 41 @param getMinMax sets if the minimum and maximum values of the cubemap should be computed 42 @param attachToTexUnit sets if this cubemap should be attach to a texture unit of the pass 43 @param minVariableName sets the name of the gpu shader program parameter to which the minimum value should be bound to 44 @param maxVariableName sets the name of the gpu shader program parameter to which the maximum value should be bound to 37 45 @param pass the pass to operate on 38 46 @param parentRenderable the object to operate on … … 80 88 }; 81 89 82 83 90 /** 91 @brief RenderTechniqueFactory to create OgreConvoledCubeMapRenderTechnique instances. 92 */ 84 93 class OgreConvoledCubeMapRenderTechniqueFactory : public OgreCubeMapRenderTechniqueFactory 85 94 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreCubeMapRenderTechnique.h
r1930 r2240 34 34 @param angleTolerance angle tolerance used in face skip 35 35 @param updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame 36 @param renderSelf sets if the object should be rendered to the cube map 37 @param renderEnvironment sets if the environment should be rendered to the cube map 38 @param selfMaterial the material that should be set for the object while rendering the cubemap 39 @param environmentMaterial the material that should be set for the environment while rendering the cubemap 40 @param layer the layer of this cubemap 41 @param getMinMax sets if the minimum and maximum values of the cubemap should be computed 42 @param attachToTexUnit sets if this cubemap should be attach to a texture unit of the pass 43 @param minVariableName sets the name of the gpu shader program parameter to which the minimum value should be bound to 44 @param maxVariableName sets the name of the gpu shader program parameter to which the maximum value should be bound to 36 45 @param pass the pass to operate on 37 46 @param parentRenderable the object to operate on … … 73 82 */ 74 83 unsigned char texID; 84 /** 85 @brief the material that should be set for the object while rendering the cubemap 86 */ 75 87 String selfMaterial; 88 /** 89 @brief the material that should be set for the environment while rendering the cubemap 90 */ 76 91 String environmentMaterial; 92 //helper string to name the created cubemaps 77 93 String texturePostFix; 78 94 /** 95 @brief sets if the minimum and maximum values of the cubemap should be computed 96 */ 79 97 bool getMinMax; 98 /** 99 @brief sets if this cubemap should be attach to a texture unit of the pass 100 */ 80 101 bool attachToTexUnit; 102 /** 103 @brief sets the name of the gpu shader program parameter to which the minimum value should be bound to 104 */ 81 105 String minVariableName; 106 /** 107 @brief sets the name of the gpu shader program parameter to which the maximum value should be bound to 108 */ 82 109 String maxVariableName; 83 110 111 //inherited 84 112 RenderingRun* createCubeMapRun(); 85 void cubeMapRunChanged(RenderingRun* run); 113 //inherited 114 void cubeMapRunChanged(RenderingRun* run); 115 //inherited 86 116 void cubeMapRunUpdated(RenderingRun* run); 87 117 }; 88 118 119 /** 120 @brief RenderTechniqueFactory to create OgreCubeMapRenderTechnique instances. 121 */ 89 122 class OgreCubeMapRenderTechniqueFactory : public RenderTechniqueFactory 90 123 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreDepthShadowRecieverRenderTechnique.h
r2180 r2240 39 39 @param shadowFragmentProgram the fragment program to be used in the shadowing passes 40 40 It should have one pass and the depth map of a light will be bound to the first sampler unit. 41 @param WorldViewProjParamName the name of the gpu program parameter the world-view-projection matrix should be bound to 42 @param WorldParamName the name of the gpu program parameter the world matrix should be bound to 43 @param setLightViewMatrix bound light space view matrix to a gpu program parameter 44 @param setLightViewProjMatrix bound light space view-projection matrix to a gpu program parameter 45 @param setLightProjFarPlane bound light space projection far plane to a gpu program parameter 46 @param lightViewProjParamName the name of the gpu program parameter the light space view-projection matrix should be bound to 47 @param lightViewParamName the name of the gpu program parameter the light space view matrix should be bound to 48 @param lightFarPlaneParamName the name of the gpu program parameter the light space projection far plane should be bound to 41 49 @param pass the pass after which shadowing passes should be added 42 50 @param parentRenderable the object to operate on … … 88 96 */ 89 97 std::vector<Pass*> passes; 98 /** 99 @brief bound light space view matrix to a gpu program parameter 100 */ 90 101 bool setLightViewMatrix; 102 /** 103 @brief bound light space view-projection matrix to a gpu program parameter 104 */ 91 105 bool setLightViewProjMatrix; 106 /** 107 @brief bound light space projection far plane to a gpu program parameter 108 */ 92 109 bool setLightProjFarPlane; 110 /** 111 @brief the name of the gpu program parameter the light space view-projection matrix should be bound to 112 */ 93 113 String lightViewProjParamName; 114 /** 115 @brief the name of the gpu program parameter the light space view matrix should be bound to 116 */ 94 117 String lightViewParamName; 118 /** 119 @brief the name of the gpu program parameter the light space projection far plane should be bound to 120 */ 95 121 String lightFarPlaneParamName; 122 /** 123 @brief the name of the gpu program parameter the world-view-projection matrix should be bound to 124 */ 96 125 String WorldViewProjParamName; 126 /** 127 @brief the name of the gpu program parameter the world matrix should be bound to 128 */ 97 129 String WorldParamName; 98 130 99 131 }; 100 132 101 133 /** 134 @brief RenderTechniqueFactory to create OgreDepthShadowRecieverRenderTechnique instances. 135 */ 102 136 class OgreDepthShadowRecieverRenderTechniqueFactory : public RenderTechniqueFactory 103 137 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreDistanceCubeMapRenderTechnique.h
r1886 r2240 34 34 @param angleTolerance angle tolerance used in face skip 35 35 @param updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame 36 @param renderSelf sets if the object should be rendered to the cube map 37 @param renderEnvironment sets if the environment should be rendered to the cube map 38 @param selfMaterial the material that should be set for the object while rendering the cubemap 39 @param environmentMaterial the material that should be set for the environment while rendering the cubemap 40 @param layer the layer of this cubemap 41 @param getMinMax sets if the minimum and maximum values of the cubemap should be computed 42 @param attachToTexUnit sets if this cubemap should be attach to a texture unit of the pass 43 @param minVariableName sets the name of the gpu shader program parameter to which the minimum value should be bound to 44 @param maxVariableName sets the name of the gpu shader program parameter to which the maximum value should be bound to 36 45 @param pass the pass to operate on 37 46 @param parentRenderable the object to operate on … … 78 87 }; 79 88 80 89 /** 90 @brief RenderTechniqueFactory to create OgreDistanceCubeMapRenderTechnique instances. 91 */ 81 92 class OgreDistanceCubeMapRenderTechniqueFactory : public OgreCubeMapRenderTechniqueFactory 82 93 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreFireRenderTechnique.h
r1055 r2240 26 26 27 27 /** 28 @brief SBBRenderTechnique used in an OGRE environment. 28 @brief A special SBBRenderTechnique used in an OGRE environment. 29 30 Instead of rendering to the frame buffer this Technique renders into two render targets at the same time. 31 The firs render target will be used as it were an ordinary backbuffer. 32 The second rendertarget will be used to simulate heat shimmering (offset values will be written to it). 33 The shimmering effect will be achieved with post processing: combining the backbuffer with the first render target using the second render target as uv offset. 34 Just like the spherical billboard techniqeue, this thechnique requires a depth image taken from main camera's viewpoint. 29 35 */ 30 36 class OgreFireRenderTechnique : public OgreRenderTechnique, … … 52 58 //inherited 53 59 virtual void update(unsigned long frameNum); 54 60 //inherited 55 61 void preRenderTargetUpdate (const RenderTargetEvent &evt); 62 //inherited 56 63 void postRenderTargetUpdate (const RenderTargetEvent &evt); 64 //inherited 57 65 bool frameEnded (const FrameEvent &evt); 66 //inherited 58 67 void preAllUpdates(); 59 68 … … 67 76 }; 68 77 69 78 /** 79 @brief RenderTechniqueFactory to create OgreFireRenderTechnique instances. 80 */ 70 81 class OgreFireRenderTechniqueFactory : public RenderTechniqueFactory 71 82 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreHierarchicalParticleSystemTechnique.h
r1425 r2240 12 12 13 13 /** 14 @brief CausticCasterRenderTechnique used in an OGRE environment.14 @brief HierarchicalParticleSystemTechnique used in an OGRE environment. 15 15 */ 16 16 class OgreHierarchicalParticleSystemTechnique : public OgreRenderTechnique, … … 18 18 { 19 19 public: 20 /** 21 @brief Constructor. 20 22 23 @param startFrame adds an offset to the current frame number to help evenly distribute updates between frames 24 @param impostorUpdateInterval update frequency of the impostor texture (image of the smaller system) 25 @param impostorResolution resolution of the impostor texture 26 @param impostorTexID the id of the texture unit state the impostor image should be bound to 27 @param useDistCalc flag to skip impostor update if object is far away (//not used) 28 @param perspectiveRendering sets if the impostor should be rendered with a perspective projection or orthogonal 29 @param childPSysScriptName name of the small particle system script 30 @param useOwnMaterial use the material for the smaller system that was defined in the particle script 31 @param impostorMaterialName use this specific material for the small particle system 32 @param useVParam bound particle radius to a gpu vertex program parameter 33 @param VParamRadius name of the gpu vertex program parameter the particle radius should be bound to 34 @param useFParam bound particle radius to a gpu fragment program parameter 35 @param FParamRadius name of the gpu fragment program parameter the particle radius should be bound to 36 @param pass the pass to operate on 37 @param parentRenderable the object to operate on 38 @param parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to 39 */ 21 40 OgreHierarchicalParticleSystemTechnique(unsigned long startFrame, 22 41 unsigned long impostorUpdateInterval, … … 43 62 44 63 protected: 45 64 /** 65 @brief use this specific material for the small particle system 66 */ 46 67 String impostorMaterialName; 68 /** 69 @brief name of the small particle system script 70 */ 47 71 String childPSysScriptName; 72 /** 73 @brief name of the created child particle system 74 */ 48 75 String childPSysName; 76 /** 77 @brief the id of the texture unit state the impostor image should be bound to 78 */ 49 79 unsigned char impostorTexID; 80 /** 81 @brief use the material for the smaller system that was defined in the particle script 82 */ 50 83 bool useOwnMaterial; 84 /** 85 @brief name of the gpu vertex program parameter the particle radius should be bound to 86 */ 51 87 String VParamRadius; 88 /** 89 @brief name of the gpu fragment program parameter the particle radius should be bound to 90 */ 52 91 String FParamRadius; 92 /** 93 @brief bound particle radius to a gpu vertex program parameter 94 */ 53 95 bool useVParam; 96 /** 97 @brief bound particle radius to a gpu fragment program parameter 98 */ 54 99 bool useFParam; 55 100 56 101 //inherited 57 102 RenderingRun* createChildPSysRenderingRun(); 103 //inherited 58 104 RenderingRun* createLightVolumeRenderingRun(); 105 //inherited 59 106 virtual void impostorChanged(RenderingRun* run); 107 //inherited 60 108 virtual void impostorUpdated(RenderingRun* run); 61 109 }; 62 110 111 /** 112 @brief RenderTechniqueFactory to create OgreHierarchicalParticleSystemTechnique instances. 113 */ 63 114 class OgreHierarchicalParticleSystemTechniqueFactory : public RenderTechniqueFactory 64 115 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreIllumVolumeRenderTechnique.h
r1425 r2240 12 12 13 13 /** 14 @brief CausticCasterRenderTechnique used in an OGRE environment.14 @brief IllumVolumeRenderTechnique used in an OGRE environment. 15 15 */ 16 16 class OgreIllumVolumeRenderTechnique : public OgreRenderTechnique, … … 18 18 { 19 19 public: 20 /** 21 @brief Constructor. 20 22 23 @param startFrame adds an offset to the current frame number to help evenly distribute updates between frames 24 @param illumVolumeUpdateInterval the update frequency of the light volume 25 @param illumTextureResolution the resolution of the light volume texture 26 @param textureDepth the number of layers to use (should be set to 1) 27 @param illumTexID the id of the texture unit state the resulting illumevolume should be bound to 28 @param useDistCalc flag to skip updates if the shaded particle system is far away (not used) 29 @param materialName the name of the material that is used while rendering the light volume 30 @param lightMatrixGPUParamName the name of the gpu program parameter where the light matrix should be bound to 31 @param useHierarchicalImpostor set this flag to true if the particle system is a hierarchical particle system 32 @param impostorTexID the id of the texture unit state where the impostor image of the smaller system should be bound to 33 @param pass the pass to operate on 34 @param parentRenderable the object to operate on 35 @param parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to 36 */ 21 37 OgreIllumVolumeRenderTechnique(unsigned long startFrame, 22 38 unsigned long illumVolumeUpdateInterval, … … 39 55 40 56 protected: 41 57 /** 58 @brief the name of the material that is used while rendering the light volume 59 */ 42 60 String materialName; 61 /** 62 @brief the id of the texture unit state the resulting illumevolume should be bound to 63 */ 43 64 unsigned char illumTexID; 65 /** 66 @brief the name of the gpu program parameter where the light matrix should be bound to 67 */ 44 68 String lightMatrixGPUParamName; 69 /** 70 @brief the id of the texture unit state where the impostor image of the smaller system should be bound to 71 */ 45 72 unsigned char impostorTexID; 46 73 47 74 //inherited 48 75 RenderingRun* createLightVolumeRenderingRun(); 76 //inherited 49 77 void lightVolumeChanged(RenderingRun* run); 78 //inherited 50 79 void lightVolumeUpdated(RenderingRun* run); 80 //inherited 51 81 void hierarchicalImpostorUpdated(RenderingRun* run); 52 82 }; 53 83 84 /** 85 @brief RenderTechniqueFactory to create OgreIllumVolumeRenderTechnique instances. 86 */ 54 87 class OgreIllumVolumeRenderTechniqueFactory : public RenderTechniqueFactory 55 88 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgrePathMapRenderTechnique.h
r2200 r2240 15 15 struct PathMapClusters; 16 16 /** 17 @brief DepthShadowRecieverRenderTechnique used in an OGRE environment.17 @brief A technique that defines that the rendering of the object will use the path map technique. 18 18 19 This technique defines that the object will recieve shadows with the help of depth shadow maps. 20 Each lightsource can have a depth map assigned to it. These are going to be refreshed only 21 if shadow recievers are visible. It is the shadow reciever technique's resposibility 22 to refresh them. 23 24 The shadows from each light are calculated in separate passes. Each pass will 25 modulate the shaded image, so thes should be the last passes (but before caustic passes). 26 The given Pass* parameter n the constructor defines the pass after which new 27 shadow recieving passes will be added by the technique. 28 19 This rendering technique can add indirect lighting to the scene. 29 20 */ 30 21 class OgrePathMapRenderTechnique : public OgreRenderTechnique … … 34 25 @brief Constructor. 35 26 36 @param maxlights the maximum number of light sources to recieve shadow from37 @param shadowVertexProgram the vertex program to be used in the shadowing passes38 @param shadowFragmentProgram the fragment program to be used in the shadowing passes39 It should have one pass and the depth map of a light will be bound to the first sampler unit.40 27 @param pass the pass after which shadowing passes should be added 41 28 @param parentRenderable the object to operate on … … 54 41 virtual void update(unsigned long frameNum); 55 42 56 protected: 43 protected: 44 /** 45 @brief the new pass created by this technique 46 */ 57 47 Pass* pathMapPass; 58 PathMapClusters* clusters; 48 /** 49 @brief the PathMapClusters structure that belongs to the subentity renderable 50 */ 51 PathMapClusters* clusters; 52 /** 53 @brief the weight index lookup map created by this technique 54 */ 59 55 Texture* weightIndexTexture; 60 56 /** 57 @brief create a weight index lookup map 58 */ 61 59 void createWeightIndexTexture(); 62 60 }; 63 61 64 62 /** 63 @brief RenderTechniqueFactory to create OgrePathMapRenderTechnique instances. 64 */ 65 65 class OgrePathMapRenderTechniqueFactory : public RenderTechniqueFactory 66 66 { -
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/include/RenderTechniques/OgreSBBRenderTechnique.h
r1055 r2240 42 42 //inherited 43 43 virtual void update(unsigned long frameNum); 44 44 //inherited 45 45 void preRenderTargetUpdate (const RenderTargetEvent &evt); 46 //inherited 46 47 void postRenderTargetUpdate (const RenderTargetEvent &evt); 48 //inherited 47 49 bool frameEnded (const FrameEvent &evt); 50 //inherited 48 51 void preAllUpdates(); 52 //inherited 49 53 void postAllUpdates(); 50 54 … … 59 63 }; 60 64 61 65 /** 66 @brief RenderTechniqueFactory to create OgreSBBRenderTechnique instances. 67 */ 62 68 class OgreSBBRenderTechniqueFactory : public RenderTechniqueFactory 63 69 {
Note: See TracChangeset
for help on using the changeset viewer.