ADD : surface sampling function for primitives