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).
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.
Contents
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ées par certains périphériques mobiles anciens. Utilisez love.graphics.getTextureTypes pour vérifier pendant l'exécution.
Voir également
Autres langues
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info