Mahm00d
Mahm00d

Reputation: 3931

How to draw a text (write on the screen) using standard OpenGL functions?

I know I can do it with GLUT. But, I have a big project and I had problem adding GLUT (I am using Delphi) to it.

So, what other options do I have?

Upvotes: 6

Views: 2249

Answers (4)

someone
someone

Reputation: 916

Use TextSuite. http://textsuite.opengl24.de/

Upvotes: 2

RobM
RobM

Reputation: 9003

If you do decide to implement your own font system be sure to use a texture atlas, I've seen too many OpenGL demos that use one texture per glyph, which leads to atrocious performance (due to the overheads incurred in the OpenGL driver and texture caches).

Upvotes: 1

mmonem
mmonem

Reputation: 2841

Use FreeType to yield a bitmap given your text.

Edit: It is a mature cross platform library that brings a complete text display capabilities based on fonts including normal Windows TrueType fonts. Here is its definition from Wikipedia:

FreeType is a software library written in C that implements a font rasterization engine. It is used to rasterize characters into bitmaps and provides support for other font-related operations.

Upvotes: 1

AshleysBrain
AshleysBrain

Reputation: 22641

You can't do it with standard OpenGL functions, unless you basically have textures with text in them, or a list of characters on a texture that you draw from. But don't reinvent the wheel - I would recommend FTGL for rendering text in an OpenGL view. It has several different rendering methods and takes care of things like kerning for you, supports unicode, and has good text metrics features too.

Upvotes: 6

Related Questions