MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / createTextureWaveTransformer

Method createTextureWaveTransformer

OgreMain/src/OgreControllerManager.cpp:190–226  ·  view source on GitHub ↗

-----------------------------------------------------------------------

Source from the content-addressed store, hash-verified

188 }
189 //-----------------------------------------------------------------------
190 Controller<Real> *ControllerManager::createTextureWaveTransformer(
191 TextureUnitState *layer, TextureUnitState::TextureTransformType ttype, WaveformType waveType,
192 Real base, Real frequency, Real phase, Real amplitude )
193 {
194 SharedPtr<ControllerValue<Real> > val;
195 SharedPtr<ControllerFunction<Real> > func;
196
197 switch( ttype )
198 {
199 case TextureUnitState::TT_TRANSLATE_U:
200 // Target value is a u scroll
201 val.reset( OGRE_NEW TexCoordModifierControllerValue( layer, true ) );
202 break;
203 case TextureUnitState::TT_TRANSLATE_V:
204 // Target value is a v scroll
205 val.reset( OGRE_NEW TexCoordModifierControllerValue( layer, false, true ) );
206 break;
207 case TextureUnitState::TT_SCALE_U:
208 // Target value is a u scale
209 val.reset( OGRE_NEW TexCoordModifierControllerValue( layer, false, false, true ) );
210 break;
211 case TextureUnitState::TT_SCALE_V:
212 // Target value is a v scale
213 val.reset( OGRE_NEW TexCoordModifierControllerValue( layer, false, false, false, true ) );
214 break;
215 case TextureUnitState::TT_ROTATE:
216 // Target value is texture coord rotation
217 val.reset(
218 OGRE_NEW TexCoordModifierControllerValue( layer, false, false, false, false, true ) );
219 break;
220 }
221 // Create new wave function for alterations
222 func.reset(
223 OGRE_NEW WaveformControllerFunction( waveType, base, frequency, phase, amplitude, true ) );
224
225 return createController( mFrameTimeController, val, func );
226 }
227 //-----------------------------------------------------------------------
228 Controller<Real> *ControllerManager::createGpuProgramTimerParam(
229 GpuProgramParametersSharedPtr params, size_t paramIndex, Real timeFactor )

Callers 1

Calls 1

resetMethod · 0.45

Tested by

no test coverage detected