renderPlaced :: Renderer (Placed Prim)
renderPlaced renderPrim (Placed p c a) =
   GL.preservingMatrix $ do
      renderPlacement p

      -- This translation is a hack to make world coordinates refer to
      -- the center of the position rather than its lower left
      -- corner. Otherwise, rotations would never include the same
      -- position.
      GL.translate (vector3f (-1) (-1) 0)
      renderPrim (toGLColor c) a

--------------------------------------------------------------------------------
renderPlaced :: Renderer (Placed Prim)
renderPlaced renderPrim (Placed p c a) =
   GL.preservingMatrix $ do
      renderPlacement p

      -- This translation is a hack to make world coordinates refer to
      -- the center of the position rather than its lower left
      -- corner. Otherwise, rotations would never include the same
      -- position.
      GL.translate (vector3f (-1) (-1) 0)
      renderPrim (toGLColor c) a

--------------------------------------------------------------------------------
renderPlaced renderPrim (Placed p c a) =
   GL.preservingMatrix $ do
      renderPlacement p

      -- This translation is a hack to make world coordinates refer to
      -- the center of the position rather than its lower left
      -- corner. Otherwise, rotations would never include the same
      -- position.
      GL.translate (vector3f (-1) (-1) 0)
      renderPrim (toGLColor c) a

--------------------------------------------------------------------------------