How do I get pixel coordinates (in the rendered image) of an object's surface without rendering the scene?
A similar problem would be getting pixel coordinates of an object's vertices, which you can easily achieve by looping over the object's vertices, get their coordinates in world space, then finally use bpy_extras.object_utils.world_to_camera_view() to convert them to pixel coordinates without actually rendering the scene.
So, how do I get pixel coordinates of an object's entire surface (not just its vertices) without rendering the scene?