Difference between revisions of "PixelFormat (Français)"
(Created page with "{{newin (Français)|11.0|110|type=enum|text=Cet enum remplace CanvasFormat et CompressedImageFormat}} Formats de pixels pour Textures, I...") |
(→Constantes) |
||
Line 51: | Line 51: | ||
|Oui | |Oui | ||
| | | | ||
− | |Version | + | |Version avec [[love.graphics.isGammaCorrect (Français)|correction gamma]] de rgba8. |
|- | |- | ||
|r16 | |r16 |
Revision as of 20:58, 28 December 2020
Disponible depuis LÖVE 11.0 |
Cet enum remplace CanvasFormat et CompressedImageFormat. |
Formats de pixels pour Textures, ImageData, et CompressedImageData.
Contents
Formats de couleur normaux
Constantes
Nom | Composantes | Bits par pixel | Étendue | Utilisable avec les Canvas | Utilisable avec les ImageData | Note(s) |
---|---|---|---|---|---|---|
normal | 4 | 32 | [0, 1] | Oui | Alias pour rgba8 , ou srgba8 Si le rendu avec correction gamma est activé.
| |
r8 | 1 | 8 | [0, 1] | Oui | 11.3 | |
rg8 | 2 | 16 | [0, 1] | Oui | 11.3 | |
rgba8 | 4 | 32 | [0, 1] | Oui | Oui | |
srgba8 | 4 | 32 | [0, 1] | Oui | Version avec correction gamma de rgba8. | |
r16 | 1 | 16 | [0, 1] | 11.3 | ||
rg16 | 2 | 32 | [0, 1] | 11.3 | ||
rgba16 | 4 | 64 | [0, 1] | Oui | ||
r16f | 1 | 16 | [-65504, +65504]* | Oui | 11.3 | |
rg16f | 2 | 32 | [-65504, +65504]* | Oui | 11.3 | |
rgba16f | 4 | 64 | [-65504, +65504]* | Oui | Oui | |
r32f | 1 | 32 | [-3.4028235e38, 3.4028235e38]* | Oui | 11.3 | |
rg32f | 2 | 64 | [-3.4028235e38, 3.4028235e38]* | Oui | 11.3 | |
rgba32f | 4 | 128 | [-3.4028235e38, 3.4028235e38]* | Oui | Oui | |
rgba4 | 4 | 16 | [0, 1] | Oui | 11.3 | |
rgb5a1 | 4 | 16 | [0, 1] | Oui | 11.3 | |
rgb565 | 3 | 16 | [0, 1] | Oui | 11.3 | |
rgb10a2 | 4 | 32 | [0, 1] | Oui | 11.3 | |
rg11b10f | 3 | 32 | [0, 65024]** | Oui | 11.3 |
* -infini et +infini sont également des valeurs valides.
** +infini est également une valeur valide.
Format de Profondeur / stencil
Tous les formats de pixel de profondeur et stencil ne sont utilisables que dans les Canvas.
Ils sont non-lisibles par défaut, et les Canvas avec un format de profondeur/stencil crée avec le drapeau « lisible » peuvent seulement accéder aux valeurs de profondeur de leurs pixels dans les shaders (les valeurs de stencil ne sont pas lisibles quoi qu'il en soit).
Constantes
Nom | Bits par pixel | À de la profondeur | à un stencil | Note(s) |
---|---|---|---|---|
stencil8 | 8 | Oui | ||
depth16 | 16 | Oui | ||
depth24 | 24 | Oui | ||
depth32f | 32 | Oui | ||
depth24stencil8 | 32 | Oui | Oui | |
depth32fstencil8 | 40 | Oui | Oui |
Formats compressés
Tous les formats de pixels compressés ne sont utilisable que dans les Images via CompressedImageData (textures compressées).
Unlike regular color formats, these stay compressed in RAM and VRAM. This is good for saving memory space as well as improving performance, since the graphics card will be able to keep more of the image's pixels in its fast-access cache when drawing it.
Constantes (GPU pour bureau)
Nom | Composants | Bits par pixel | Étendue | Note(s) |
---|---|---|---|---|
DXT1 | 3 | 4 | [0, 1] | Applicable aux images totalement opaques sur les système de bureau. |
DXT3 | 4 | 8 | [0, 1] | Smooth variations in opacity do not mix well with this format. DXT1 or DXT5 is generally better in every situation. |
DXT5 | 4 | 8 | [0, 1] | Recommandé pour les images avec opacité variable sur les systèmes de bureau. |
BC4 | 1 | 4 | [0, 1] | Également connue comme 3Dc+ ou ATI1. Stock uniquement le canal rouge. |
BC4s | 1 | 4 | [-1, 1] | Moins de précision que BC4 mais autorise des nombres négatifs. |
BC5 | 2 | 8 | [0, 1] | Également connue comme 3Dc ou ATI2. Souvent utilisé pour les cartes de normales sur les systèmes de bureau. |
BC5s | 2 | 8 | [-1, 1] | Moins de précision que BC5 mais autorise des nombres négatifs. Souvent utilisé pour les cartes de normales sur les systèmes de bureau. |
BC6h | 3 | 8 | [0, +infini] | Stock les données RVB dans des nombres à virgule flottante demi-prcision. Adapté pour les images HDR sur les systèmes de bureau. |
BC6hs | 3 | 8 | [-infini, +infini] | Moins de précision que BC6h mais autorise des nombres négatifs. |
BC7 | 4 | 8 | [0, 1] | Très bon pour représenter les images opaques et transparentes, mais requiert un GPU compatible DX11 / OpenGL 4. |
Constantes (GPU pour mobile)
Nom | Composants | Bits par pixel | Étendue | Note(s) |
---|---|---|---|---|
ETC1 | 3 | 4 | [0, 1] | Adapté pour les images complètements opaques sur les périphériques Android plus anciens. |
ETC2rgb | 3 | 4 | [0, 1] | Adapté pour les images complètements opaques sur les périphériques mobiles plus récents |
ETC2rgba | 4 | 8 | [0, 1] | Recommandé pour les images à opacité variable sur les périphériques mobiles plus récents. |
ETC2rgba1 | 4 | 4 | [0, 1] | Variante RVBA du format ETC2, où les pixels sont soit complétement transparents, soit complétement opaques. |
EACr | 1 | 4 | [0, 1] | Stock juste le canal rouge. |
EACrs | 1 | 4 | [-1, 1] | Moins de précision que EACr met permet des nombres négatifs. |
EACrg | 2 | 8 | [0, 1] | Stock les canaux rouge et vert. |
EACrgs | 2 | 8 | [-1, 1] | Moins de précision que EACrg mais permet des nombres négatifs. |
PVR1rgb2 | 3 | 2 | [0, 1] | Les images utilisant ce format doivent être carrées et leur taille doit être une puissance de 2. |
PVR1rgb4 | 3 | 4 | [0, 1] | Les images utilisant ce format doivent être carrées et leur taille doit être une puissance de 2. |
PVR1rgba2 | 4 | 2 | [0, 1] | Les images utilisant ce format doivent être carrées et leur taille doit être une puissance de 2. |
PVR1rgba4 | 4 | 4 | [0, 1] | Les images utilisant ce format doivent être carrées et leur taille doit être une puissance de 2. |
ASTC4x4 | 4 | 8 | [0, 1] | |
ASTC5x4 | 4 | 6.4 | [0, 1] | |
ASTC5x5 | 4 | 5.12 | [0, 1] | |
ASTC6x5 | 4 | 4.27 | [0, 1] | |
ASTC6x6 | 4 | 3.56 | [0, 1] | |
ASTC8x5 | 4 | 3.2 | [0, 1] | |
ASTC8x6 | 4 | 2.67 | [0, 1] | |
ASTC8x8 | 4 | 2 | [0, 1] | |
ASTC10x5 | 4 | 2.56 | [0, 1] | |
ASTC10x6 | 4 | 2.13 | [0, 1] | |
ASTC10x8 | 4 | 1.6 | [0, 1] | |
ASTC10x10 | 4 | 1.28 | [0, 1] | |
ASTC12x10 | 4 | 1.07 | [0, 1] | |
ASTC12x12 | 4 | 0.89 | [0, 1] |
Notes
Tous les formats ne sont pas supportés dans les Images et Canvas love.graphics sur tous les systèmes, bien que les formats d'images compressées DXT ont un support proche de 100 % sur les systèmes d’exploitation de bureau.
Les formats BC4 et BC5 sont supportés sur les systèmes de bureau avec des pilotes et matériel capable d'utiliser DirectX 10 / OpenGL 3. Les formats BC6H et BC7 ne sont supportés que sur les systèmes de bureau avec matériel capable d'utiliser DirectX 11 / OpenGL 4 et des pilotes très récents. macOS ne supporte pas du tout BC6H ou BC7 actuellement.
ETC1 est supporté par la majorité des périphériques Android, ainsi que les iPhone 5s et plus récents.
Les formats ETC2 et EAC sont supportés par les iPhone 5s et plus récents, tout les périphériques Android compatibles OpenGL ES 3 et les GPU compatibles OpenGL 4.3.
Les formats PVR1 sont supportés par tous les périphériques iOS, ainsi qu'un petit nombre de périphériques Android qui ont des GPU PowerVR.
ASTC est supporté par les périphériques mobiles récents (e.g. iPhone 6 et plus récents), périphériques Android qui comportent un GPU Adreno 4xx (ou supérieur), ainsi que les GPU intégrés d'Intel Skylake (et plus récents). Il existe une grande variété de variantes qui permettent de prendre celui le plus compressé qui n'a pas d'effets visible de compression, pour une texture donnée.
Utilisez love.graphics.getCanvasFormats et love.graphics.getImageFormats pour vérifier le support du Canvas et Image check respectivement :
local supportedformats = love.graphics.getImageFormats()
if not supportedformats["DXT5"] then
-- Ne peut pas charger CompressedImageData avec le format DXT5 dans les images !
-- Sur certains systèmes Linux avec pilotes Mesa, l'utilisateur aura besoin d'installer un paquet "libtxc-dxtn" parce que les formats DXT (aka S3TC) comportent des brevets.
-- Support pour les formats DXT sur touts les autres pilotes de bureau est quasiment garanti.
end
if not supportedformats["BC5"] then
-- Ne peut charger CompressedImageData avec le format BC5 dans les images !
-- L'utilisateur n'a probablement pas de carte vidéo capable d'utiliser ce format.
end
Voir également
- love.image (Français)
- love.graphics (Français)
- love.font (Français)
- love.image.newImageData (Français)
- love.graphics.getImageFormats (Français)
- love.graphics.getCanvasFormats (Français)
- love.graphics.newCanvas (Français)
- Texture:getFormat (Français)
- ImageData:getFormat (Français)
- CompressedImageData:getFormat (Français)
- GlyphData:getFormat (Français)
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