[c++] OpenGL font probleem

Pagina: 1
Acties:

  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 30-08 10:20

Tjeerd

Be Original, Be Yourself.

Topicstarter
Ik gebruik een routine van NeHe om fonts vanuit Windows te gebruiken om tekst af te drukken binnen m'n OpenGL-venster (niet echt crossplatform, maar maakt even niet uit).

Ik gebruik van wat functies om tekst op het scherm te krijgen, krijg mooi tekst te zien in m'n venster. Alleen gebruikt hij volgens mij nog een bepaalde projectie.
Het is namelijk de bedoeling dat ik bijv. linksboven een tekst neerzet dat die daar blijft staan, dat gaat prima, zolang ik het venster fullscreen heb staan. Als ik m'n venster kleiner ga maken, schuift de tekst op naar het midden toe.

Dat laatste is dus niet de bedoeling, hij moet ten alle tijde linksboven blijven staan die tekst.

Ik heb dus geprobeerd om in orthografische toestand te komen (zodat het eigenlijk een soort van 2d-projectie wordt), maar tot op heden nog geen succes.

Zat al te denken om een formule te gebruiken die afhankelijk van de width/height van het venster de positie van de tekst aanpast, zodat dat altijd linksboven blijft staan, maar kom er niet echt uit.

Hulp is welkom.

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 31-08 15:26

.oisyn

Moderator Devschuur®

Demotivational Speaker

als je een normale orthografische projectie hebt, dan is (-1, -1) linksonder, en (1, 1) rechtsboven

Het lijkt me dan niet zo moeilijk om in combinatie met de breedte en hoogte van je scherm de juiste coordinaten te berekenen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Volgens mij resized NeHe de viewport als je window geresized wordt. Heb je wel gelijksoortige code in je programma staan?

  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 30-08 10:20

Tjeerd

Be Original, Be Yourself.

Topicstarter
Ericston: de viewport wordt wel goed aangepast dat zit er gewoon in.

.oisyn: heb het al geprobeerd op deze manier:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
glMatrixMode(GL_PROJECTION);
    glPushMatrix(); //ff bewaren                    
    glLoadIdentity();   //reset

    glOrtho(0,width,0,height,-1,1);
    glMatrixMode(GL_MODELVIEW);

                glColor3f(1.0f,1.0f,1.0f);
                glTranslatef(0.0f,0.0f,-1.0f);
 
                glRasterPos2f(-0.3f, 0.2f);
                glPrint("Hallo %f",(float)width);

                glPopMatrix();


Dat is ongeveer de code die ik nu heb, maar das dus niet helemaal suc6vol.

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 31-08 15:26

.oisyn

Moderator Devschuur®

Demotivational Speaker

even kijken hoe ik het opgelost had...

oh, ik gebruikte gewoon de identity matrix, dmv glLoadIdentity () :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.