funzione glTexSubImage1D
La funzione glTexSubImage1D specifica una parte di un'immagine di trama unidimensionale esistente. Non è possibile definire una nuova trama con glTexSubImage1D.
Sintassi
void WINAPI glTexSubImage1D(
GLenum target,
GLint level,
GLint xoffset,
GLsizei width,
GLenum format,
GLenum type,
const GLvoid *pixels
);
Parametri
-
target
-
Trama di destinazione. Deve essere GL_TEXTURE_1D.
-
level
-
Numero di dettaglio del livello. Il livello 0 è l'immagine di base. Il livello n è l'n immagine di riduzione mipmap.
-
xoffset
-
Offset di texel nella direzione x all'interno della matrice di trame.
-
width
-
Larghezza dell'immagine secondaria della trama.
-
format
-
Formato dei dati pixel. Questo parametro può presupporre uno dei valori simbolici seguenti.
Valore Significato - GL_COLOR_INDEX
Ogni elemento è un singolo valore, un indice di colore. Viene convertito in formato a virgola fissa (con un numero non specificato di 0 bit a destra del punto binario), spostato a sinistra o a destra, a seconda del valore e del segno di GL_INDEX_SHIFT e aggiunto a GL_INDEX_OFFedizione Standard T (vedere glPixelTransfer). L'indice risultante viene convertito in un set di componenti colore utilizzando le tabelle GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B e GL_PIXEL_MAP_I_TO_A e bloccate nell'intervallo [0,1]. - GL_RED
Ogni elemento è un singolo componente rosso. Viene convertito in formato a virgola mobile e assemblato in un elemento RGBA associando 0,0 per verde e blu e 1.0 per alpha. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_GRedizione Enterprise N
Ogni elemento è un singolo componente verde. Viene convertito in formato a virgola mobile e assemblato in un elemento RGBA collegando 0,0 per rosso e blu e 1.0 per alpha. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_BLUE
Ogni elemento è un singolo componente blu. Viene convertito in formato a virgola mobile e assemblato in un elemento RGBA collegando 0,0 per rosso e verde e 1,0 per alfa. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_ALPHA
Ogni elemento è un singolo componente alfa. Viene convertito in formato a virgola mobile e assemblato in un elemento RGBA collegando 0,0 per rosso, verde e blu. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_RGB
Ogni elemento è un triplo RGB. Viene convertito in virgola mobile e assemblato in un elemento RGBA collegando 1.0 per alfa. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_RGBA
Ogni elemento è un elemento RGBA completo. Viene convertito in formato a virgola mobile. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_LUMINANCE
Ogni elemento è un singolo valore di luminanza. Viene convertito in formato a virgola mobile e quindi assemblato in un elemento RGBA replicando il valore di luminanza tre volte per rosso, verde e blu e collegando 1,0 per alfa. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). - GL_LUMINANCE_ALPHA
Ogni elemento è una coppia di luminanza/alfa. Viene convertito in formato a virgola mobile e quindi assemblato in un elemento RGBA replicando il valore di luminanza tre volte per rosso, verde e blu. Ogni componente viene quindi moltiplicato per il fattore di scala con segno GL_c_SCALE, aggiunto al GL_c_BIAS di distorsione con segno e bloccato all'intervallo [0,1] (vedere glPixelTransfer). -
type
-
Tipo di dati dei dati pixel. Vengono accettati i valori simbolici seguenti: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT e GL_FLOAT.
-
Pixel
-
Puntatore ai dati dell'immagine in memoria.
Valore restituito
Questa funzione non restituisce un valore.
Codici di errore
I codici di errore seguenti possono essere recuperati dalla funzione glGetError.
Nome | Significato |
---|---|
|
target non è stato GL_TEXTURE_1D. |
|
il formato non è una costante accettata. |
|
il tipo non è una costante accettata. |
|
il tipo era GL_BITMAP e il formato non era GL_COLOR_INDEX. |
|
level è minore di zero o maggiore di log2 max, dove max è il valore restituito di GL_MAX_TEXTURE_SIZE. |
|
xoffset è minore di b o la larghezza dell'offset + è maggiore di wb, dove w è il GL_TEXTURE_WIDTH e b è la larghezza del GL_TEXTURE_BORDER dell'immagine trama da modificare. Si noti che w include due volte la larghezza del bordo. |
|
width era minore di b, dove b è la larghezza del bordo della matrice di trame. |
|
bordo non era zero o 1. |
|
La matrice di texure non è stata definita da un'operazione glTexImage1D precedente. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
Osservazioni:
Il texturing unidimensionale per una primitiva è abilitato usando glEnable e glDisable con l'argomento GL_TEXTURE_1D. Durante la creazione di testo, parte di un'immagine di trama specificata viene mappata in ogni primitiva abilitata. Usare la funzione glTexSubImage1D per specificare un'immagine secondaria contigua di un'immagine di trama unidimensionale esistente per la creazione di testo.
I texel a cui fa riferimento i pixel sostituiscono un'area della matrice di trame esistente con indici xoffset e xoffset + (larghezza 1) inclusi. Questa area non può includere alcun texel all'esterno dell'intervallo della matrice di trama specificata originariamente.
La specifica di un'immagine secondaria con una larghezza pari a zero non ha alcun effetto e non genera un errore.
La formattazione del testo non ha alcun effetto in modalità indice colori.
In generale, le immagini di trama possono essere rappresentate dagli stessi formati di dati dei pixel in un comando glDrawPixels , ad eccezione del fatto che non è possibile usare GL_STENCIL_INDEX e GL_DEPTH_COMPONENT. Le modalità glPixelStore e glPixelTransfer influiscono esattamente sulle immagini di trama nel modo in cui influiscono su glDrawPixels.
Le funzioni seguenti recuperano informazioni correlate a glTexSubImage1D:
glIsEnabled con l'argomento GL_TEXTURE_1D
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|