We present algorithms for reconstructing, up to unavoidable projective automorphisms, surfaces with ordinary singularities in three-dimensional space starting from their silhouette, or “apparent contour''---namely, the branching locus of a projection on the plane---and the projection of their singular locus.