anfängerfrage mit texturen unter openGL



  • hi,
    ich weiss net ob ich grad total aufm schlauch steh oder das NEHE tutorial total missversteh aber:

    also ich will ne texture erstellen (bmp)
    dh ich lade die dateien in "TextureImage" (typ:AUX_RGBImageRec) und dann sind die dadrin.
    im nehe tutorial steht, dass GLGenTexture in "texture" (typ:GLuint) die texture reinschreibt aber die funktion kennt doch garnet die daten von TextureImage?
    was steht also in "texture" drin nachdem sie mit GLgenTexture kreirt wurde bzw wie kommen daten von TextureImage in texture. is das so das in texture nur eine zahl steht , die sozusagen wie ein pointer die ID von den daten in TextureImage ist?
    danke, christoph



  • das hab ich vor (eine function, die eine texture erstellt aus nem bitmap)

    aber "texture" is NULL , is ja auch logisch , woher soll es en wert haben, aber im NEHE tutorial geht das !!

    GLuint CreateBMPTexture(char *filename, int flag)
    {
    FILE *file;
    AUX_RGBImageRec *textureimage;
    GLuint texture = 0;

    file = fopen(filename,"r");

    if(file)
    {
    fclose(file);
    textureimage = auxDIBImageLoad(filename);
    }
    else return NULL;

    glGenTextures(1, &texture);
    glBindTexture(GL_TEXTURE_2D, texture);

    glTexImage2D(GL_TEXTURE_2D, 0, 3, textureimage->sizeX,
    textureimage->sizeY, 0, GL_RGB,
    GL_UNSIGNED_BYTE, textureimage->data);

    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,flag);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,flag);

    if(textureimage)
    free(textureimage);

    return texture;
    }



  • glGenTextire liefert dir NUR eine freie ID, welche du nun für alle Texturarbeiten benutzen kannst. Ist genauso wie bei einer Displayliste#

    genTexture -> ID für Textur besorgen
    bindTexture -> gewünschte ID aktiv schalten(alle folgenden Texturbefehle beziehen sich nun auf dieses "OpenGL-Textur-Objekt"
    glTexImage2D -> die eigentlichen Bilddaten an die OpenGL-Textur übergeben
    glTexParameteri -> diverse Textureinstellungen setzen(Filterung, ...)



  • aah perfekt danke 😉

    das verwirrt nur en bissle wegen diesem "unsichtbaren" buffer in der graka oder wo auch immer der ist^^


Anmelden zum Antworten