Jump flooding algorithm (JFA) is an interesting way to utilize the graphics processing unit to efficiently compute Voronoi diagrams and distance transforms in 2D discrete space. This paper presents three novel variants of JFA. They focus on different aspects of JFA: the first variant can further reduce the errors of JFA; the second variant can greatly increase the speed of JFA; and the third variant enables JFA to compute Voronoi diagrams in 3D space in a slice-by-slice manner, without a high end graphics processing unit. These variants are orthogonal to each other. In other words, it is possible to combine any two or all of them together.