Textures
Cosa sono le textures?
Una Texture è un'immagine di qualsiasi tipo utilizzata per rivestire la superficie di un oggetto virtuale, tridimensionale, o bidimensionale, con un apposito programma di grafica.
Immaginiamo di avere i dati di un' immagine RGB raw in un buffer e di voler applicarla su un oggetto 3D OpenGL.
Per prima cosa si dovrà caricare l' immagine nella memoria video.
Una volta caricata nella memoria video potrà essere utilizzata dall'applicazione in qualsiasi momento.
Prima di poter caricare una Texture in memoria c'è però un passaggio da effettuare che renderà OpenGL 'consapevole' sul cosa fare con questi dati passatigli.
Gli step sucessivi illustreranno nell'ordine cosa occorre prima di 'uploadare' la nostra Texture.
- N.B.: I seguenti passaggi dovranno essere eseguiti durante lo start dell'applicazione e ripetuti una volta per ogni Texture da caricare.
Uploadare una texture per OpenGL in Gambas
La prima cosa coinvolta nell'upload di una texture è l'associazione o 'BIND' tramite il metodo BindTexture. Lo scopo del metodo è quello di dire a OpenGL quale Texture "id" dovrà essere utilizzato. Un Texture "id" consiste in un numero di identificazione che verrà utilizzato per accedere alla nostra Texture.
Ecco un esempio del Bind:
gl.bindTexture(GL_TEXTURE_2D, 13);
Il comando precedente non fa altro che dire ad OpenGL di utilizzare la Texture con ID 13 come texture attuale di lavoro e specifica anche che deve essere utilizzata come Texture 2D.