'SCNShadable behavior for SCNGeometry and SCNMaterial

Both of SCNGeometry and SCNMaterial does conform SCNShadable protocol(https://developer.apple.com/documentation/scenekit/scnshadable), but I can't figure out what is logical difference between setting program property to geometry and set to material. What if I'll set different programs to SCNGeometry and for its material(single for simplicity)?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source