Update shading and add destroy feature
Merge branch 'shading'