I would like to pass the following values as a texture to the fragment shader:
That is a lot of stuff. It looks like this would require three different textures in OpenGL. Questions:
Even in Vulkan, you can not have more than a four channels for a texture. However, both in OpenGL and Vulkan, you could use a 32 bits by channels texture, and use something like packUnorm
( https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/packUnorm.xhtml ). But it works only with integer texture and you will have to perform filtering by yourself
Another way could be to use something like SSBO ou TBO. But I do not understand what the problem is by using 3 textures.