glTexImage bzw. gluBuild2DMipmaps bei nachträglicher Änderung des Texturarrays



  • Bei den Funktionen glTexImage... bzw. gluBuild2DMipmaps wird ja als letzter Parameter ein Zeiger auf die Pixel der Textur übergeben.

    Jetzt kommt bei mir folgende gemeine Idee: was würde passieren, wenn ich die Daten in diesem Array "einfach so" nach dem Erstellen verändere, ohne nochmal glTexImage... bzw. gluBuild2DMipmaps aufzurufen? Würde sich dann

    i) die Textur nicht verändern, da OGL die übergebenen Daten woanders hin kopiert

    ii) die Textur ändern, aber nicht garantiert sofort (vielleicht auch), da die Textur im Grafikkartenspeicher abgelegt ist und nur wenn die Daten neu angefordert werden, eine Aktualisierung vorgenommen wird

    iii) die Textur ändert sich sofort

    Analog stelle man sich die Idee vor, dass ich stattdessen ein delete auf dem Texturdatenzeiger ausführe. Würde die Anwendung dann segfaulten?



  • i) weil:
    - OGL die übergebenen Daten woanders hin kopiert (lokale kopie falls grafikspeicher voll)
    - da die Textur im Grafikkartenspeicher abgelegt ist

    du kannst den speicher als genausogut wieder freigeben 🙂



  • Danke.


Anmelden zum Antworten