Materials are now stored in a texture on the gpu and can be accessed from
a shader through a special converter function. The materials make heavy
use of 2x2 texel fetches (1 material is stored on 2x2 f32 texels)