WebGLRenderingContext.texImage2D()
Limited availability
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
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
GLenumindiquant 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
GLintindiquant 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
GLintindiquant 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_COMPONENTgl.DEPTH_STENCIL
-
lors de l'utilisation de l'extension
EXT_sRGB:ext.SRGB_EXText.SRGB_ALPHA_EXT
-
Lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
gl.R8gl.R16Fgl.R32Fgl.R8UIgl.RG8gl.RG16Fgl.RG32Fgl.RG8UIgl.RG16UIgl.RG32UIgl.RGB8gl.SRGB8gl.RGB565gl.R11F_G11F_B10Fgl.RGB9_E5gl.RGB16Fgl.RGB32Fgl.RGB8UIgl.RGBA8gl.SRGB8_APLHA8gl.RGB5_A1gl.RGB10_A2gl.RGBA4gl.RGBA16Fgl.RGBA32Fgl.RGBA8UI
-
largeur-
Un
GLsizeiindiquant la largeur de la texture. hauteur-
Un
GLsizeiindiquant la hauteur de la texture. bordure-
Un
GLintindiquant la largeur de la bordure. Doit être 0. format-
Un
GLenumindiquant 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
GLenumindiquant 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_SHORTgl.UNSIGNED_INText.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.BYTEgl.UNSIGNED_SHORTgl.SHORTgl.UNSIGNED_INTgl.INTgl.HALF_FLOATgl.FLOATgl.UNSIGNED_INT_2_10_10_10_REVgl.UNSIGNED_INT_10F_11F_11F_REVgl.UNSIGNED_INT_5_9_9_9_REVgl.UNSIGNED_INT_24_8gl.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
Uint8Arraydoit être utilisé sitypeestgl.UNSIGNED_BYTE; - un
Uint16Arraydoit être utilisé sitypeestgl.UNSIGNED_SHORT_5_6_5,gl.UNSIGNED_SHORT_4_4_4_4,gl.UNSIGNED_SHORT_5_5_5_1,gl.UNSIGNED_SHORTouext.HALF_FLOAT_OES; - un
Uint32Arraydoit être utilisé sitypeestgl.UNSIGNED_INTouext.UNSIGNED_INT_24_8_WEBGL; - un
Float32Arraydoit être utilisé sitypeestgl.FLOAT;
- un
-
decalage-
(WebGL 2 seulement) Un décalage en octets
GLintptrdans le magasin de données duWebGLBuffer. Utilisé pour télécharger des données vers laWebGLTextureliée, depuis leWebGLBufferlié à 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
Chargement…
Voir aussi
WebGLRenderingContext.createTexture()WebGLRenderingContext.bindTexture()WebGLRenderingContext.texSubImage2D()WebGLRenderingContext.compressedTexImage2D()WebGLRenderingContext.copyTexImage2D()WebGLRenderingContext.getTexParameter()WEBGL_depth_textureOES_texture_floatOES_texture_half_floatEXT_sRGB