TextureType (Français)

Disponible depuis LÖVE 11.0
Ce-tte enum n'est pas supporté-e par des versions plus anciennes.

Types de textures (2D, cubemap, etc.)

Constantes

2d
Texture 2D standard avec largeur et hauteur.
array
Différentes textures 2D de taille identiques organisées en un unique objet. Similaire à un alias de texture / feuille de sprites, mais évite les débordements de sprite et d'autres problèmes.
cube
Texture Cubemap avec 6 faces. Son utilisation requiert un shader personnalisé (et Shader:send) pour son utilisation. Échantillonner depuis une texture de cube dans un shader utilise un vecteur de direction 3D au lieu de coordonnées de texture.
volume
Texture 3D comprenant largeur, hauteur et profondeur. Son utilisation requiert un shader personnalisé. Les textures en Volume peuvent comporter un filtrage de texture appliqué sur le 3e axe.

Notes

Textures en table (Array texture) peuvent être rendues avec love.graphics.drawLayer, love.graphics.draw et un Quad via Quad:setLayer, ou bien en l'envoyant vers un Shader personnalisé.Lorsque les pixels d'une texture en table sont récupérés dans un shader, un troisième composant de coordonnée de texture est utilisé pour choisir quelle couche sera récupérer.


Lorsque un Shader personnalisé est utilisé, chaque type de texture a un type GLSL différent.

  • Image (ou sampler2D) est une texture 2D.
  • ArrayImage (ou sampler2DArray) est une texture en table.
  • CubeImage (ou samplerCube) cubemap texture en cubemap.
  • VolumeImage (ou sampler3D) volume texture en volume.


La fonction shader Texel peut être utilisé pour échantillonner depuis tout type de textures dans un shader. Texel est recommandé plutôt que texture2D, textureCube etc., parce que ces derniers ne fonctionnent pas au travers de toutes les versions de GLSL supportées par LÖVE, tandis que les Texel si (GLSL 3 à supprimé texture2D et ajouté une fonction générique texture).


Chaque texture à une taille différente sur le système d'un utilisateur. Utilisez love.graphics.getSystemLimits pour vérifier.

Les différents types de textures ne sont pas tous supportés par tous les systèmes. love.graphics.getTextureTypes peut tester son support.

Les types de texture 2D et cube sont supportés partout. Les textures en table requièrent un système qui supporte OpenGL 3 ou OpenGL ES 3. Les textures en Volume / 3D requièrent un système qui supporte OpenGL 2 ou OpenGL ES 3.

Voir également

Autres langues