Added shader disposal and Random.NextSingle()