[Imstk-developers] Text Rendering

Milef, Nicholas Boris milefn at rpi.edu
Mon Oct 24 19:33:29 EDT 2016


Anytime we need to display text on screen, we have to do text rendering. This would probably be a smaller bottleneck anyway, but text in 3D environments will be necessary for VR simulations that need text. Do you know whether this would be a commonly used feature for the type of applications that use iMSTK?
________________________________
From: Andinet Enquobahrie [andinet.enqu at kitware.com]
Sent: Monday, October 24, 2016 7:18 PM
To: Milef, Nicholas Boris
Cc: imstk-developers at imstk.org
Subject: Re: [Imstk-developers] Text Rendering

Nick,

But, are we doing any text rendering in iMSTK?

On Mon, Oct 24, 2016 at 7:14 PM, Milef, Nicholas Boris <milefn at rpi.edu<redir.aspx?REF=GcaQIKykAf_p3U92afkjAfkcR6JBs14ytzeQbMTcl_vemiGvZPzTCAFtYWlsdG86bWlsZWZuQHJwaS5lZHU.>> wrote:
One thing we may want to look into is optimizing text rendering. I think VTK uses FreeType, but that method has historically been slow for high-performance real-time applications because you essentially have to render out each character at a certain resolution (which is bad for 3D text especially since the render size would need to change with distance).

Valve published an influential paper here that works well in 2D and 3D:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf<redir.aspx?REF=1fm5UykOzXr3tI-V-rnL8JEZxa8GofNa8dtQklaZ9AHemiGvZPzTCAFodHRwOi8vd3d3LnZhbHZlc29mdHdhcmUuY29tL3B1YmxpY2F0aW9ucy8yMDA3L1NJR0dSQVBIMjAwN19BbHBoYVRlc3RlZE1hZ25pZmljYXRpb24ucGRm>

Also, there's some interesting discussion in this answer here:
http://stackoverflow.com/questions/5262951/what-is-state-of-the-art-for-text-rendering-in-opengl-as-of-version-4-1<redir.aspx?REF=L9ceArDG43rIPBojqyK2Tdcb-8qhHD1R5mMe9zNttRfemiGvZPzTCAFodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzUyNjI5NTEvd2hhdC1pcy1zdGF0ZS1vZi10aGUtYXJ0LWZvci10ZXh0LXJlbmRlcmluZy1pbi1vcGVuZ2wtYXMtb2YtdmVyc2lvbi00LTE.>

What's interesting is that one approach is to model text essentially as a mesh and use geometry shaders to create planes out of the vertices to map the textures on them. IDK how great that approach is though because geometry shaders don't tolerate generating geometry very well, but it's an option. Otherwise, instancing should work well enough.

_______________________________________________
Imstk-developers mailing list
Imstk-developers at imstk.org<redir.aspx?REF=GFN3h9T9h-_mhyIUlZi8aYZaKD7tDPVFblgKpLFip_XemiGvZPzTCAFtYWlsdG86SW1zdGstZGV2ZWxvcGVyc0BpbXN0ay5vcmc.>
http://public.kitware.com/mailman/listinfo/imstk-developers<redir.aspx?REF=bzMtMSx-px0PYxry6kqu5cZ1Xw94t38LYay7g4P1K27emiGvZPzTCAFodHRwOi8vcHVibGljLmtpdHdhcmUuY29tL21haWxtYW4vbGlzdGluZm8vaW1zdGstZGV2ZWxvcGVycw..>




--
Andinet Enquobahrie, Ph.D., MBA
Assistant Director of Medical Computing
Kitware, Inc.

http://www.kitware.com<redir.aspx?REF=UcbyTjHf0Zc5067o0PP1gs2m54iM8yQJDlREvU_iFQbemiGvZPzTCAFodHRwOi8vd3d3LmtpdHdhcmUuY29t>
(919) 969-6990 x311<tel:%28919%29%20969-6990%20x311>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/imstk-developers/attachments/20161024/a5693f50/attachment.html>


More information about the Imstk-developers mailing list