WebGLRenderingContext.texImage2D()
La méthode WebGLRenderingContext.texImage2D()
de l'API WebGL spécifie une image de texture bidimensionnelle.
Syntaxe
// WebGL1:
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ArrayBufferView? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, ImageData? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLImageElement? pixels);
void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLCanvasElement? pixels);\void gl.texImage2D(cible, niveau, formatinterne, format, type, HTMLVideoElement? pixels);
// WebGL2:
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, GLintptr decalage);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLCanvasElement source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLImageElement source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, HTMLVideoElement source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ImageBitmap source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ImageData source);
void gl.texImage2D(cible, niveau, formatinterne, largeur, hauteur, bordure, format, type, ArrayBufferView donneesSrc, decalageSrc);
Paramètres
cible
-
Un
GLenum
indiquant le point de liaison (cible) de la texture active. Valeurs possibles :gl.TEXTURE_2D
: une texture bidimensionnelle ;gl.TEXTURE_CUBE_MAP_POSITIVE_X
: face X positive pour une texture mappée sur un cube ;gl.TEXTURE_CUBE_MAP_NEGATIVE_X
: face X négative pour une texture mappée sur un cube ;gl.TEXTURE_CUBE_MAP_POSITIVE_Y
: face Y positive pour une texture mappée sur un cube ;gl.TEXTURE_CUBE_MAP_NEGATIVE_Y
: face Y négative pour une texture mappée sur un cube ;gl.TEXTURE_CUBE_MAP_POSITIVE_Z
: face Z positive pour une texture mappée sur un cube ;gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
: face Z négative pour une texture mappée sur un cube.
niveau
-
Un
GLint
indiquant le niveau de détail. Le niveau 0 est le niveau de l'image de base et le niveau n est le n-ième niveau de réduction du mipmap. formatinterne
-
Un
GLint
indiquant les composantes de couleur dans la texture. Valeurs possibles :-
gl.ALPHA
: ignore les composantes rouge, vert et bleu, et lit la composante alpha ; -
gl.RGB
: ignore la composante alpha et lit les composantes rouge, vert et bleu ; -
gl.RGBA
: les composantes rouge, vert, bleu et alpha sont lues à partir du tampon des couleurs ; -
gl.LUMINANCE
: chaque composante de couleur est une composante de luminance, alpha vaut 1,0 ; -
gl.LUMINANCE_ALPHA
: chaque composante est une composante de luminance/alpha ; -
lors de l'utilisation de l'extension
WEBGL_depth_texture
:gl.DEPTH_COMPONENT
gl.DEPTH_STENCIL
-
lors de l'utilisation de l'extension
EXT_sRGB
:ext.SRGB_EXT
ext.SRGB_ALPHA_EXT
-
Lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
gl.R8
gl.R16F
gl.R32F
gl.R8UI
gl.RG8
gl.RG16F
gl.RG32F
gl.RG8UI
gl.RG16UI
gl.RG32UI
gl.RGB8
gl.SRGB8
gl.RGB565
gl.R11F_G11F_B10F
gl.RGB9_E5
gl.RGB16F
gl.RGB32F
gl.RGB8UI
gl.RGBA8
gl.SRGB8_APLHA8
gl.RGB5_A1
gl.RGB10_A2
gl.RGBA4
gl.RGBA16F
gl.RGBA32F
gl.RGBA8UI
-
largeur
-
Un
GLsizei
indiquant la largeur de la texture. hauteur
-
Un
GLsizei
indiquant la hauteur de la texture. bordure
-
Un
GLint
indiquant la largeur de la bordure. Doit être 0. format
-
Un
GLenum
indiquant le format des données de texel. En WebGL 1, cela doit être identique àformatinterne
(voir ci-dessus). En WebGL 2, les combinaisons sont répertoriées dans ce tableau. type
-
Un
GLenum
indiquant le type de données des données de texel. Valeurs possibles :-
gl.UNSIGNED_BYTE
: 8 bits par canal pourgl.RGBA
; -
gl.UNSIGNED_SHORT_5_6_5
: 5 bits de rouge, 6 bits de vert, 5 bits de bleu ; -
gl.UNSIGNED_SHORT_4_4_4_4
: 4 bits de rouge, 4 bits de vert, 4 bits de bleu, 4 bits d'alpha ; -
gl.UNSIGNED_SHORT_5_5_5_1
: 5 bits de rouge, 5 bits de vert, 5 bits de bleu, 1 bit d'alpha ; -
lors de l'utilisation de l'extension
WEBGL_depth_texture
:gl.UNSIGNED_SHORT
gl.UNSIGNED_INT
ext.UNSIGNED_INT_24_8_WEBGL
(constante fournie par l'extension)
-
lors de l'utilisation de l'extension
OES_texture_float
:gl.FLOAT
-
lors de l'utilisation de l'extension
OES_texture_half_float
:ext.HALF_FLOAT_OES
(constante fournie par l'extension)
-
lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
gl.BYTE
gl.UNSIGNED_SHORT
gl.SHORT
gl.UNSIGNED_INT
gl.INT
gl.HALF_FLOAT
gl.FLOAT
gl.UNSIGNED_INT_2_10_10_10_REV
gl.UNSIGNED_INT_10F_11F_11F_REV
gl.UNSIGNED_INT_5_9_9_9_REV
gl.UNSIGNED_INT_24_8
gl.FLOAT_32_UNSIGNED_INT_24_8_REV
(les pixels doivent êtrenull
)
-
pixels
-
L'un des objets suivants peut être utilisé comme source de pixels pour la texture :
-
- un
Uint8Array
doit être utilisé sitype
estgl.UNSIGNED_BYTE
; - un
Uint16Array
doit être utilisé sitype
estgl.UNSIGNED_SHORT_5_6_5
,gl.UNSIGNED_SHORT_4_4_4_4
,gl.UNSIGNED_SHORT_5_5_5_1
,gl.UNSIGNED_SHORT
ouext.HALF_FLOAT_OES
; - un
Uint32Array
doit être utilisé sitype
estgl.UNSIGNED_INT
ouext.UNSIGNED_INT_24_8_WEBGL
; - un
Float32Array
doit être utilisé sitype
estgl.FLOAT
;
- un
-
decalage
-
(WebGL 2 seulement) Un décalage en octets
GLintptr
dans le magasin de données duWebGLBuffer
. Utilisé pour télécharger des données vers laWebGLTexture
liée, depuis leWebGLBuffer
lié à la ciblePIXEL_UNPACK_BUFFER
.
Valeur retournée
Aucune.
Exemples
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
Spécifications
Specification |
---|
WebGL Specification # 5.14.8 |
WebGL 2.0 Specification # 3.7.6 |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
WebGLRenderingContext.createTexture()
WebGLRenderingContext.bindTexture()
WebGLRenderingContext.texSubImage2D()
WebGLRenderingContext.compressedTexImage2D()
WebGLRenderingContext.copyTexImage2D()
WebGLRenderingContext.getTexParameter()
WEBGL_depth_texture
OES_texture_float
OES_texture_half_float
EXT_sRGB