Differenze tra le versioni di "Textures"

Da Gambas-it.org - Wikipedia.
(Uploadare una texture per OpenGL in Gambas)
 
Riga 38: Riga 38:
 
Ecco un esempio di definizione della profondità di colore:
 
Ecco un esempio di definizione della profondità di colore:
  
     [[Gl.pixelStorei|gl.PixelStorei]]([[Gl.Gl.GL_UNPACK_ALIGNMENT|Gl.GL_UNPACK_ALIGNMENT]], 4);
+
     [[Gl.pixelStorei|gl.PixelStorei]]([[Gl.GL_UNPACK_ALIGNMENT|Gl.GL_UNPACK_ALIGNMENT]], 4);
  
 
----
 
----

Versione attuale delle 09:27, 8 giu 2010

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

1 - ALLACCIAMENTO TEXTURE:

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.


2 - DEFINIZIONE PROFONDITA' DI COLORE:

Ecco un esempio di definizione della profondità di colore:

   gl.PixelStorei(Gl.GL_UNPACK_ALIGNMENT, 4);

Pagina creata da: Morpheus_1999
Data creazione:   01 June 2010
Ultima modifica:  01 June 2010
Contributors:     
Fonti: Nate Miller
       OpenGL WebSite