How do I load a single channel 16 bit depth PNG from disk to Texture2D?

I have a series of R16 png’s in a folder in my computer and i need to load them from disk to the GPU as fast as possible.
Currently I am reading the data from disk, applying it to a Texture2D and sending to GPU, this works great for raw data, but I can’t figure out how to load 16bit single channel data from png to a Texture2D.
Texture2D.LoadImage() only seems to load to ARGB32 format, which would loose precision and cause unnecessary format conversions.
Is there any way to load the data in the specified png format to GPU? It doesnt have to be Texture2D, but renderTextures or other methods would also work, as long as i can get it on the GPU fast.
Thanks in advance!

1 Like