When I switched to Texture arrays, I decided to move pointclouds data logic over to a single Uint8 array for convenience. But this takes up a lot of memory for large datasets and is essentially a waste since rendering pointclouds isn't feasible for such large datasets.
I will figure out a way to stitch the data of multiple textures back together.