Looks great =o

Performance wise, wouldn't it be better to separate the GPU from the CPU ? since you're doing dual loops =o