If i create a new SMaterial class instance, how can I then apply it to a scene node? Without having to go through all the material's properties and 'copying' them over.
Like, there should be a .setMaterial(index,material) function .
forgive my c++ ignorance, but if i then made a few nodes' materials = mynewmaterialwithallsettingsmade, and then changed a setting on mynewmaterialwithallsettingsmade, would that affect all the other nodes too?
No, but that wouldn't be too pleasant usually. Moreover, setting the materials to different values isn't too time consuming, and you can do that in a loop inside a method to make it pretty easy for you as well.