HILFE, ich lade 2Bmp für textureMapping doch kann nur die erst geladene benutzen, wieso?



  • In OpenGL hat jede Textur eine bestimmte Nummer (=ID).

    Lesen:

    http://www.gamedev.net/reference/articles/article947.asp schrieb:

    The first thing that must take place in the process of uploading the texture is a call to glBindTexture. What glBindTexture does is it tells OpenGL which texture "id" we will be working with. A texture "id" is just a number that you will use to access your textures. Here is a sample call.

    glBindTexture(GL_TEXTURE_2D, 13);

    This call will make texture that is associated with the ID of 13 the active texture. Any calls that have to do with OpenGL texture mapping will effect this texture. It is important that you remember this number since it will be needed again later on to actually apply the texture to geometry.



  • Zeigst du mal das Codefragment wo du renderst?

    grüße



  • kann ich dann einfache ne .rc anlegen mit

    IDB_BITMAP_1   BITMAP "Bmp/Master.bmp"
    IDB_BITMAP_2   BITMAP "Bmp/moh.bmp"
    

    die .rc dem project beifuegen und den header includen... und dann brauch ich doch aber nicht mehr texture[2] definieren oder? sondern nur noch glBindTexture( GL_TEXTURE_2D, IDB_BITMAP_1 ), is das so ok???



  • Das hast du wiederrum falsch verstanden. Es du musst die Textur bei OpenGL registrieren. Und genau dann bekommst du eine ID zurück, mit der du dann bestimmte Texturen "Binden" kannst.
    Das was du vorhast wird also nicht funktionieren, der erste Ansatz war schon korrekt!

    grüße



  • @ david

    static PIXELFORMATDESCRIPTOR pfd = {
    
            sizeof( PIXELFORMATDESCRIPTOR ),
            1,  //versionnummer
            PFD_DRAW_TO_WINDOW |    // foramt muss im fenster sichtbar sien
            PFD_SUPPORT_OPENGL |    //unterstuetzt OpenGL
            PFD_DOUBLEBUFFER,       // doublebuffering wird unterstuetzt
            PFD_TYPE_RGBA,          // unterstuetzt RGB + alpha f.
            16,                   // farbtiefe
            0, 0, 0, 0, 0, 0,
            0,                      // kein alphabuffer
            0,                      // shift bit ignoriet
            0,                      // kein accumulationsbuffer
            0, 0, 0, 0,
            16,                     // 16-Bit Depth-Buffer
            0,                      // kein stencil buffer
            0,                      // kein auxiliary buffer
            PFD_MAIN_PLANE,         // hauptebene auf der später gezeichnet wird
            0,                      // unwichtig
            0, 0, 0 };              // keine ebenenmasken benötigt
    
            hDC = GetDC( hWnd );
            PixelFormat = ChoosePixelFormat( hDC, &pfd );
            SetPixelFormat( hDC, PixelFormat, &pfd );  // verwendet PixelFormat
            hRC = wglCreateContext(hDC);  
            wglMakeCurrent(hDC,hRC); // verucht hRC zu aktivieren
    
            ShowWindow( hWnd, SW_SHOW );    // zeigt fenster an
            ReSizeGLScene( width, height ); // aktiviert perspective
            InitGL();                       // läd die openGL ( texturen, lich .... )
    ...
    


  • also das mit dem header:

    ...
    
    #define IDB_BITMAP_1 1
    ...
    

    ist ok ?

    und wie mach ich das denn im .rc file?? und wie geht das mit der registrierung?? des ist doch glGenTexture() odeR?



  • Das ist nicht der Rendercode... aber trotzdem danke! 😛

    also das mit dem header:
    Code:
    ...

    #define IDB_BITMAP_1 1
    ...
    Code:
    ...

    #define IDB_BITMAP_1 1
    ...
    Code:
    ...

    #define IDB_BITMAP_1 1
    ...

    ist ok ?

    und wie mach ich das denn im .rc file?? und wie geht das mit der registrierung?? des ist doch glGenTexture() odeR?

    Liest du egtl auch mal zwischen deinen 100 doppelposts??? 🙄



  • oO, sprecht doch nicht in Rätseln *g*

    also jetzt hab ich dem ganzen ne Id verpasst denk ich trotzdem gehts net..... oder meine rc ist falsch.... also IDB_BITMAP_1 1 .....
    -> .rc -> IDB_BITMAP_1 BITMAP "path". im prog, texture[] = { IDB_BITMAP_1 ... } -> glBindTexture( GL_TEXTURE_2D, texture[0])... kommt trotz allen wieder bei beiden obj. die erste texture



  • Ich spreche ziemlich deutlich. Und wenn du die vorherigen Posts gründlich durchgelesen hättest wärst du jetzt schlauer...

    grüße



  • hmm.. jetz hab ichs mir mindestens 10mal durch gelesen und weiss immer noch nicht wie ich das mit den ID's mache.... hmmm ist doch alles .... 😞



  • Alter... mir fehlen die Worte.

    Wie hast du eigentlich mit OpenGL angefangen? Hast du deinen Code auf der Straße gefunden oder was?

    http://nehe.gamedev.net/
    auf der linken Seite sind die Tutorials. Ich nehme mal an, du kannst Englisch als Abiturient.


Anmelden zum Antworten