int main(int argc, char *argv[])
{
	char fileName[80];
	unsigned int loop=0;
	unsigned int offset=0;
	
	for(loop=1;loop<3000;loop++)
	{
		double gX=2.0*sin((2*M_PI*((double)(loop%25)/25.0)));
		double gY=2.0*sin((2*M_PI*((double)((loop+offset)%25)/25.0)));
		double gZ=1.0-0.5*sin((2*M_PI*((double)((loop+10+offset)%25)/25.0)));
		unsigned int speed=0;

		sprintf(fileName,"frames/frame%08u.png",loop);

		if(generateFrame(fileName,
				 loop,
				 gX,
				 gY,
				 gZ,
				 speed,
				 ((double)(loop%40)/40)*100,
				 ((double)(loop%30)/30)*100))
		{
			return 1;
		}

		if(!(loop%12))
		{
			offset++;
		}
	}

	return 0;
}
예제 #2
0
void TSShapeLoader::generateObjectState(TSShape::Object& obj, F32 t, bool addFrame, bool addMatFrame)
{
   shape->objectStates.increment();
   TSShape::ObjectState& state = shape->objectStates.last();

   state.frameIndex = 0;
   state.matFrameIndex = 0;
   state.vis = mClampF(appMeshes[obj.startMeshIndex]->getVisValue(t), 0.0f, 1.0f);

   if (addFrame || addMatFrame)
   {
      generateFrame(obj, t, addFrame, addMatFrame);

      // set the frame number for the object state
      state.frameIndex = appMeshes[obj.startMeshIndex]->numFrames - 1;
      state.matFrameIndex = appMeshes[obj.startMeshIndex]->numMatFrames - 1;
   }
}
예제 #3
0
/**
 * Create a frame
 */
StateMachine::StateSelector SimulationApi::smCreateFrame()
{
    generateFrame();
    startTriggerTimer();
	return StateMachine::firstState;
}