- Timestamp:
- 05/11/06 10:19:54 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IllumModule/OgreIllumModule/src/OgreIlluminationManager.cpp
r874 r949 158 158 } 159 159 160 void OgreIlluminationManager::initTechniques(Entity* e) 161 { 162 OgreSharedRuns* sharedruns = 0; 163 164 for(unsigned int s = 0; s < e->getNumSubEntities(); s++) 165 { 166 SubEntity* sube = e->getSubEntity(s); 167 168 Material* mat = sube->getMaterial().getPointer(); 169 170 OgreRenderable* rend = 0; 171 OgreTechniqueGroup* group = 0; 172 173 for(unsigned int t = 0 ; t < mat->getNumTechniques() ; t++) 174 { 175 Technique* tech = mat->getTechnique(t); 176 177 for(unsigned int p = 0; p< tech->getNumPasses(); p++) 178 { 179 Pass* pass = tech->getPass(p); 180 181 std::vector<IllumTechniqueParams*>& techniques = pass->getIllumTechniques(); 182 std::vector<IllumTechniqueParams*>::iterator i = techniques.begin(); 183 std::vector<IllumTechniqueParams*>::iterator iend = techniques.end(); 184 185 while( i != iend) 186 { 187 IllumTechniqueParams* params = *i; 188 189 if(rend == 0) 190 { 191 rend = new OgreRenderable(e, s); 192 group = new OgreTechniqueGroup(); 193 sube->setRenderTechniqueGroup(group); 194 195 if( sharedruns == 0) 196 { 197 sharedruns = new OgreSharedRuns(); 198 addSharedRuns(sharedruns); 199 } 200 201 group->addSharedRun(sharedruns); 202 sharedruns->addRenderable(rend); 203 sharedruns->updateBounds(); 204 } 205 206 createTechnique(params, pass, rend, sharedruns); 207 208 i++; 209 } 210 } 211 } 212 } 213 214 215 } 160 216 161 217 void OgreIlluminationManager::initTechniques() … … 170 226 Entity* e = (Entity*) o; 171 227 172 OgreSharedRuns* sharedruns = 0;228 /* OgreSharedRuns* sharedruns = 0; 173 229 174 230 for(unsigned int s = 0; s < e->getNumSubEntities(); s++) … … 222 278 } 223 279 280 */ 281 initTechniques(e); 224 282 } 225 283 }
Note: See TracChangeset
for help on using the changeset viewer.