OpenGL - Text mit Display Lists Problem



  • Servus,

    folgendes Problem:
    Unser Prof hat uns letzte Stunde ne Aufgabe gegeben Daten Grafisch mit OpenGL darzustellen. Allerdings haben wir mit OpenGL noch nie das geringste zu tun gehabt.
    Ich habe nun Probleme mit der Textdarstellung. Es kommen zwar keine Warnungen oder Fehler, aber der Text "Text 1" wird nicht angezeigt.

    [cpp]/***************************************************************

    Beispielprogramm "Datenauswertung" mit OpenGL
    Verwendung der GLUT-Bibliothek
    Prof. Dr.-Ing. G. Schaefer

    ****************************************************************/

    #include <stdio.h> /* Standartbibliothek /
    #include <GL/glut.h> /
    Grafikbibliothek /
    #include <stdlib.h> /
    Standartbibliothek */
    #include <string.h>
    #include "Font.c"
    //#ifdef WIN32
    // #define GLUTCALLBACK /**/
    //#endif

    /================================================/

    GLuint FontBase, Text;

    static void GLUTCALLBACK myinit(void)
    {
    /* Initializations /
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glClearColor (0.0, 0.0, 0.0, 1.0); /
    RGB + Alpha - Hintergrund */

    }

    static int GLUTCALLBACK RenderScene(void)
    {
    FILE* data;
    float x[100];
    float y[100];
    int i;

    if(data=fopen("daten1","rt"))
    {
    for(i=0;i<100;i++)
    {
    fscanf(data,"%f", &x[i]);
    fscanf(data,"%f", &y[i]);
    }

    fclose(data);

    /* Creating the Scene /
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,1,1); /
    White Color - Linienfarbe*/

    /* glBegin(GL_LINE_LOOP) zeichnet aus Koordinaten geschlossene Fläche */

    glBegin(GL_LINE_STRIP);
    for(i=0;i<100;i++)
    glVertex2f(x[i],y[i]);

    glEnd();

    glBegin(GL_LINE_LOOP);
    glVertex2f(0.0,0.0);
    glVertex2f(1.0,0.0);
    glVertex2f(1.0,1.0);
    glVertex2f(0.0,1.0);
    glEnd();

    *glNewList(Text, GL_COMPILE);
    glPushMatrix();
    glScalef(0.5,0.5,0); /
    Größenverhältnis /
    glTranslatef(0.2,0,0); /
    Verschiebung(x,y,z) */
    tkDrawStr(FontBase, "Text 1");
    glPopMatrix();
    glEndList();

    glCallList(Text);**

    glFlush (); /* Flushes OpenGL command queues and buffers */

    return 0;

    }
    else
    {
    printf("FEHLER BEI DATEIOEFFNUNG!\n");
    return -1;
    }
    }

    static void GLUTCALLBACK myReshape(int w, int h)
    {
    /* Callback function to handle window dimensions and size changes */

    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION); /* specifies the current matrix /
    glLoadIdentity(); /
    Sets the currant matrix to identity /
    gluOrtho2D(-0.12,1.04,-0.1,1.12); /
    Sets the clipping rectangle extends */
    }

    /* Main Loop */

    int main(int argc, char** argv)
    {

    /* GLUT functions to set up the window /
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_ALPHA | GLUT_DEPTH);
    glutInitWindowPosition (0, 0); /
    Fensterposition /
    glutInitWindowSize(500, 500); /
    Fenstergröße */
    glutInit(&argc, argv);
    glutCreateWindow (argv[0]);

    myinit(); /* Initialization */

    glutReshapeFunc (myReshape); /* Function to call when window changes size /
    glutDisplayFunc(RenderScene); /
    Creating the Szene */
    glutMainLoop();
    }[/cpp]



  • Richard schrieb:

    tkDrawStr(FontBase, "Text 1");
    

    Was soll das sein, tkDrawStr?



  • Sorry, kann ich dir echt nicht sagen, da ich mich mit den Fkt. noch gar nicht auskenne. In meinem Tutorial steht es wäre ein Teil der Displayliste. Mehr weiß ich auch nicht.


Anmelden zum Antworten