task main()
{
  accelerate(50);
  wait10Msec(100);
  turn (-1, 150, 1000);
  deccelerate(50);
}
void Transition3Dto2D::render(QCAR::Matrix44F projectionMatrix,
        QCAR::Matrix34F targetPose, GLuint texture1)
{
    float t = stepTransition();

    QCAR::Matrix44F modelViewProjectionTracked;
    QCAR::Matrix44F modelViewProjectionCurrent;
    QCAR::Matrix44F modelViewMatrix = QCAR::Tool::convertPose2GLMatrix(
            targetPose);
    QCAR::Matrix44F finalPositionMatrix = getFinalPositionMatrix();

    SampleUtils::scalePoseMatrix(430.f * scaleFactor,
        430.f * scaleFactor,
        1.0f,
        &modelViewMatrix.data[0]);

    SampleUtils::multiplyMatrix(&projectionMatrix.data[0],
            &modelViewMatrix.data[0], &modelViewProjectionTracked.data[0]);

    float elapsedTransformationCurrent = 0.8f + 0.2f * t;
    elapsedTransformationCurrent = deccelerate(elapsedTransformationCurrent);
    linearInterpolate(&modelViewProjectionTracked, &finalPositionMatrix,
            &modelViewProjectionCurrent, elapsedTransformationCurrent);

    glUseProgram(shaderProgramID);

    glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &planeVertices[0]);
    glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &planeNormals[0]);
    glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &planeTexcoords[0]);

    glEnableVertexAttribArray(vertexHandle);
    glEnableVertexAttribArray(normalHandle);
    glEnableVertexAttribArray(textureCoordHandle);
    glEnable (GL_BLEND);

    // Drawing Textured Plane
    glActiveTexture (GL_TEXTURE0);
    glBindTexture(GL_TEXTURE_2D, texture1);
    glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE,
            (GLfloat*) &modelViewProjectionCurrent.data[0]);
    glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT,
            (const GLvoid*) &planeIndices[0]);

    glDisableVertexAttribArray(vertexHandle);
    glDisableVertexAttribArray(normalHandle);
    glDisableVertexAttribArray(textureCoordHandle);
    glDisable(GL_BLEND);

    SampleUtils::checkGlError("Transition3Dto2D::render");

}