int ShiftTextureUV() { float numberOfTexturePixelsNeededUpdateFloat = width * (analyzer.GetWaveFormDeltaTimeProcessed() / analyzer.waveFormLengthInSeconds) + pixelFractions; int numberOfTexturePixelsNeededUpdate = (int)numberOfTexturePixelsNeededUpdateFloat; pixelFractions = numberOfTexturePixelsNeededUpdateFloat - numberOfTexturePixelsNeededUpdate; // Scroll the texture UV based on the time passed in the last update float uvShiftDelta = (float)numberOfTexturePixelsNeededUpdate / (float)width; uvShift += uvShiftDelta; image.uvRect = new Rect(uvShift, 0, 1, 1); return(numberOfTexturePixelsNeededUpdate); }