basic shading
add incomplete blinn-phong BSDF
implement visibility detection