love.graphics.newVolumeImage (Français)

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

Crée une nouvelle Image en volume (3D).

O.png Cette fonction peut être lente si elle est appelée de façon répétée, comme depuis love.update ou love.draw. Si vous devez utiliser souvent une ressource spécifique, créez la une seule fois, et conservez la quelque part, elle peut être réutilisée !  



Les images en volumes sont des textures 3D comportant une largeur, auteur, et profondeur. Elles ne peuvent pas être rendues directement, elles peuvent uniquement être utilisées dans le code d'un Shader (et envoyés à un shader via Shader:send). Ou, plus précisément, les shaders par défaut ne peuvent rendre les images en volume, et vous avez besoin d'an créer un par vous même pour le faire.

Pour utiliser une image en volume dans un Shader, elle doit être déclarée de type VolumeImage ou sampler3D type (au lieu d'Image ou sampler2D). La fonction de shader Texel(VolumeImage image, vec3 texcoords) doit être utilisée pour récupérer les couleurs des pixels depuis une image en volume. L'argument vec3 est une coordonnée de texture normalisée dont la composante z y représente la profondeur de l'échantillon (dans la plage [0, 1]).

Les images en volume sont utilisé typiquement comme des table de correspondance dans les shaders pour l'étalonnage des coleurs, par exemple, parce qu'échantillonner en utilisant une coordonnée de texture qui est à mi-chemin entre deux pixels peut être interpolé dans chacune des 3 dimensions dans une image en volume, résultant en un dégradé doux, même lorsqu'une image Volume de taille réduite est utilisée comme table de correspondance.

Les ArrayImage (images en table) sont un bien meilleur choix que les images en volume pour stocker plusieurs sprites différents dans une seule image table afin de les tracer directement.

Fonction

Crée une image en volume d'après différents fichier d'image au dimensions correspondantes.

Synopsis

image = love.graphics.newVolumeImage( layers, settings )

Arguments

table (Français) layers
Une table contenant le chemin de fichier des images (ou des objets File (fichier), FileData (données de fichier), ImageData (données d'image), ou CompressedImageData (données d'image compressées)), dans une table. Une table de tables peut également être fournit, où chaque sous-table représente un unique niveau de mipmap et contient tous les calques pour ce mipmap.
table (Français) settings (nil)
Table optionnelle de réglages pour configurer l'image en volume, comportant les champs suivants :
boolean (Français) mipmaps (false)
True (vrai) pour que l'image utilise des mipmaps, false (faux) pour les désactiver. Les mipmaps seront générés autotmatiquement si l'image n'est pas dans un format de texture compressée.
boolean (Français) linear (false)
True (vrai) pour traiter les pixels de l'image comme linéaire, au lieu du modèle sRGB, lorsque le rendu avec correction gamma est activé. La plupart des images sont crée en sRGB.

Retourne

Image (Français) image
Un objet VolumeImage.

Notes

Les images en volume ne sont pas supporté par certains périphériques mobiles anciens. Utilisez love.graphics.getTextureTypes pour vérifier pendant l'exécution.

Voir également


Autres langues