OpenGL Fonts - Das ewige Problem



  • also bei mir funzt das tut mit deinen einstellungen

    mach doch mal in render funktion einen test

    glBegin(GL_LINES);
    glVertex2f(-1.0f, -1.0f);
    glVertex2f(1.0f, 1.0f);
    glEnd();

    vielleicht hast du ein ganz anderes problem



  • *freu* 🙂
    Das mit den Texturen hat funktioniert!
    ein glDisable(GL_TEXTURE_2D) und schon gings.
    Woran liegt das ?

    btw, stellt das mal bitte in die FAQ - hab das Problem schon öfters hier gesehen
    Danke an alle (Jetzt kann ich mir den Bart abschneiden 😉 )



  • Keine Ahnung woran das liegt, habs selbst auch nie verstanden.

    Zu glRasterPosf(), schau dir mal die GL_ARB_window_pos Extension an.
    Wurde extra eingefügt, weil RasterPos so nervig ist.



  • Hmm, woran liegt das wenn kein Ä,Ö oder Ü angezeigt wird ? 😕
    Passiert bei allen Schriftarten



  • ist das nicht sehr langsam?
    ich meine ist nen bitmapfont nicht schneller so wie mans in directdraw gewöhnlich nutzt?

    ich dachte immer man sollte die
    SelectObject() etc möglichst meiden da sie das programm ausbremsen.



    Ä Ö Ü werden nicht richtig dargestellt weil ihr Ascii Code nicht mit dem in der Liste übereinstimmt, müsstest du also manuell nachtragen.
    2.
    Windows Fonts sind langsamer, TextureFonts sind schneller und unabhängiger



  • Wenn ich das richtig verstanden habe, werden die Windows-Fonts in Bitmaps gewandelt und in einer glList abgelegt. Dann wird das ganze nur noch in den Framebuffer geschrieben. Mit den 0815 Win GDI Fonts hat das doch nichts mehr am Hut oder ?
    Davon abgesehen zieht das ganze wirklich ziemlich viel Performance 🙄
    Wie könnte man NeHe's Font-Funktionen beschleunigen ? Ideen, Vorschläge und Geistesblitze erwünscht! 😃



  • Render den ganzen Zeichensatz auf eine Textur und mach ne normale Bitmapfont draus.



  • Öhm, und wie render ich das auf eine Textur ? 😕



  • hi,

    ich glaube, bildschirmlisten sind schon schneller als die windows gdi http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=17

    also ich mache das mit einer textur die ich mit http://www.lmnopc.com/bitmapfontbuilder/
    erstellt habe.



  • Oka, wieder ein anderes Problem 🙄
    Jetzt krieg ich es nicht mehr hin, den Text farbig zu machen...
    Um genauer zu sein, nimmt kein einziges Poly in meiner Szene eine mit glColor... gesetzte Farbe an 😞
    Woran kann das schon wieder liegen ?
    Folgende OGL Funktionen sind während des Renderings aktiv:

    Texturing
    Shading (Smooth)
    Alpha-Testing
    Blending
    Licht (Ein Ambientes)
    Stencil-Buffer Operationen

    Stört irgendetwas daran das setzen von Farben ? 😕
    Oder woran kann es noch liegen ?



  • drei jahre später, aber es kommen ja immer noch leute her:
    du musst die farbe VOR der rasterpos setzen.

    ein altguru hats so erklärt:
    The trick is to set the color before you set the raster position:

    glColor3f(1.0, 0.0, 0.0); // sets the current color to red
    glRasterPos2f(x, y); // sets the raster position and color
    glColor3f(0.0, 1.0, 0.0); // sets the current color to blue
    glBitmap(...); // draws a bitmap in red

    You might expect to see a blue bitmap, but it will be red. In this
    example, the second glColor() is just to demonstrate that the raster
    color is set when you call glRasterPos(). The raster position is
    treated like any other vertex: the position is transformed by the
    current matrices, and the color is determined by the current color, or
    by the current normal if lighting is enabled. Let me repeat that last
    part: if lighting is enabled, the current color is ignored and the
    raster color is determined by the lighting equation.


Anmelden zum Antworten