I am creating program that translates lithological data to colored 3D-columns which can be imported into Blender. Because the amount of single objects would be huge and disastrous on the readability in in the "outliner" (list of all objects), I am planning to accumulate them in one Wavefront (.obj) object. However, I would like to have labels (stations ids) for each lithological column. Blender seemingly only allows to display the name of objects in Object- and Edit-mode.
Is there a way to at least label all lithological columns differently while keeping all columns in one single object? Maybe there exist an addon or a niche in the Blender Python API. As far as I know there would be the possibility to write a Python addon which scales and rotates 3D-text-objects according to the viewport movement of the user. Still, I am looking for plain 2D-text and the functionality is somewhere within Blender already, but not necessarily in the Blender Python API.
Thank you in advance!
EDIT: I intented to do it without the Blender Game Engine. The text should be displayed somewhere over or adjacent the lithological columns (which depends on the current viewport). It would be good if the labels could be switched on and off, to not always interfere with the final results. Additionally, it would be beneficial to preserved the labels in rendered images as well but this is not a necessity. Distance dependent scalability is also optional. The main purpose is to identify the columns/locations while working with them.