Working on improving materials by allowing to specify shaders for each
material, default material will be used when no shader is attached