title: get a 2D bounding box from a 3D object
body: <p>I have a scene filled with ~hundred oblong asteroid shaped objects.  I want to place a text label under each one so that the label is visible from any camera angle.  I billboard the text so that it always faces the camera.</p>
  
  <p>At first, everything looks great by placing text below the 3d object using <code>.translateY</code>.  However, as you start to moving around the scene, labels no longer are 'below' the object depending on your camera position.  This especially true when you orient using trackballControls.</p>
  
  <p>How can I place text 'below' the object no matter the orientation.  Perhaps if I create a 2d bounding box around each object in relation to the camera on each frame - I could then place the text label right below that 2d box.</p>
  
  <p>I'm also concerned that calculating 2d bounding boxes on a hundred 3d objects every frame could get expensive.  Thoughts?</p>
  
  <p>screenshots:</p>
  
  <p>At first, text labels appear correctly translated -y below the object
  <img src="https://i.stack.imgur.com/Kygmj.png" alt="enter image description here"></p>
  
  <p>but as you rotate the camera, labels get sideways
  <img src="https://i.stack.imgur.com/O7g4i.png" alt="enter image description here"></p>
  
  <p>flipping the camera all the way around shows the labels upside down
  <img src="https://i.stack.imgur.com/v2EWK.png" alt="enter image description here"></p>
  
  <p><strong>My goal is to have the labels below the objects no matter the camera orientation.</strong></p>