glutStrokeCharacter ->Scaling (OpenGL)

How do I scale a glutStrokeCharacter? I'm at a depth of about -20F....and if possible, how can I rotate the text 45 degrees?
rossryanAsked:
Who is Participating?
 
enkimuteConnect With a Mentor Commented:
you can use glTranslatef, glScalef and glRotatef to move, size or rotate the text.
You can even simply turn on antialiasing by using smooth lines and blending.

Haven't tested it, but all together should look something like :

x and y are offsets to the current raster position.
scale should be 1 for normal scale, higher for bigger letters, lower for smaller letters.
orientation is the nr of degrees rotated around the z axis. (0 aligns the text with the x axis)
Antialias is the strength of the letters. use 0.0 for no antialiasing.
*text points to a zero terminated string.

void output(GLfloat x, GLfloat y, GLfloat scale, GLfloat orientation, GLfloat antialias, char *text)
{
    char *p;
   
    glPushMatrix();
    glTranslatef(x, y, 0);
    glRotatef(orientation,0,0,1);
    glScalef(scale,scale,scale);

    if (antialias != 0)
    {
       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
       glEnable(GL_BLEND);
       glEnable(GL_LINE_SMOOTH);
       glLineWidth(antialias);   // 2.0 gives good results.
    }

    for (p = text; *p; p++)
        glutStrokeCharacter(GLUT_STROKE_ROMAN, *p);

    if (antialias != 0)
    {
       glDisable(GL_BLEND);
       glDisable(GL_LINE_SMOOTH);
    }

    glPopMatrix();
}
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.