automatic detection of required shader input (and providing it) thus fixing the issue of multiple objects with different input crashing. moved updating shader input into rendering to allow using multiple meshs with the same material