Refactored textures to allow variable number of textures. Everything will be kept 32F RGBA format for flexibility and consistency