Difference between revisions of "Canvas (Français)"
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{newin (Français)|[[0.8.0]]|080|type=type|text=Ceci est un renommage de [[Framebuffer]]}} | {{newin (Français)|[[0.8.0]]|080|type=type|text=Ceci est un renommage de [[Framebuffer]]}} | ||
− | Un Canvas (toile) est utilisé pour le rendu hors écran. Pensez à un écran invisible sur lequel vous pouvez dessiner, mais qui sera invisible jusqu'à ce que vous l'affichiez | + | Un Canvas (toile) est utilisé pour le rendu hors écran. Pensez à un écran invisible sur lequel vous pouvez dessiner, mais qui sera invisible jusqu'à ce que vous l'affichiez sur l'écran final qui sera visible. Cette technique est également connue sous le nom « ''rendu dans une texture'' ». |
− | En dessinant des choses qui ne changent pas souvent de position (tels que les objets du fond) sur | + | En dessinant des choses qui ne changent pas souvent de position (tels que les objets du fond) sur un Canvas, puis en dessinant le Canvas complet au lieu de chaque objets, vous pouvez réduire le nombre d'opération de tracé effectué à chaque image temporelle. |
− | Dans les version précédentes à la [[0.10.0]], les cartes graphiques que supportaient LÖVE ne pouvaient pas toutes utiliser des Canvas. [[love.graphics.isSupported|love.graphics.isSupported("canvas")]] pouvait être utilisé pour vérifier son support pendant l'exécution. | + | Dans les version précédentes à la [[0.10.0]], les cartes graphiques que supportaient LÖVE ne pouvaient pas toutes utiliser des Canvas. [[love.graphics.isSupported (Français)|love.graphics.isSupported("canvas")]] pouvait être utilisé pour vérifier son support pendant l'exécution. |
{{notice|Lorsque du contenu est dessiné sur un Canvas en utilisant un mixage alpha standard, les valeurs alpha de ce contenu sont multipliées avec leur valeurs RVB. | {{notice|Lorsque du contenu est dessiné sur un Canvas en utilisant un mixage alpha standard, les valeurs alpha de ce contenu sont multipliées avec leur valeurs RVB. | ||
− | Les couleurs des pixels du Canvas auront donc un ''alpha prémultiplié'' une fois qu'il y aura été dessiné. Lorsque le Canvas est | + | Les couleurs des pixels du Canvas auront donc un ''alpha prémultiplié'' une fois qu'il y aura été dessiné. Lorsque le Canvas est tracé à l'écran ou sur un autre Canvas, vous devez donc utiliser un mélange alpha prémultiplié – [[love.graphics.setBlendMode (Français)|love.graphics.setBlendMode]]("alpha", "premultiplied").}} |
== Constructeurs == | == Constructeurs == | ||
− | {{#ask: [[Category:Functions]] [[Constructs::Canvas]] | + | {{#ask: [[Category:Functions (Français)]] [[Constructs::Canvas (Français)]] |
| headers=hide | | headers=hide | ||
| default=None. | | default=None. | ||
Line 23: | Line 23: | ||
| ?PrettyDeprecated | | ?PrettyDeprecated | ||
}} | }} | ||
+ | |||
== Fonctions == | == Fonctions == | ||
− | {{#ask: [[Category:Functions]] [[parent::Canvas||Texture||Drawable||Object]] [[Concept:Current]] | + | {{notice (Français)|Toutes les fonctions n'ont peut être pas encore été traduites, veuillez vous référer à la [[Canvas|version en anglais]] pour la liste complète.}} |
+ | {{#ask: [[Category:Functions (Français)]] [[parent::Canvas (Français)||Texture (Français)||Drawable (Français)||Object (Français)]] [[Concept:Current]] | ||
| headers=hide | | headers=hide | ||
| format=template | | format=template | ||
Line 35: | Line 37: | ||
| ?PrettyDeprecated | | ?PrettyDeprecated | ||
}} | }} | ||
+ | |||
== Enums == | == Enums == | ||
− | {{#ask: [[Category:Enums]] [[parent::Canvas]] [[Concept:Current]] | + | {{#ask: [[Category:Enums (Français)]] [[parent::Canvas (Français)]] [[Concept:Current]] |
| headers=hide | | headers=hide | ||
| format=template | | format=template | ||
Line 47: | Line 50: | ||
| ?PrettyDeprecated | | ?PrettyDeprecated | ||
}} | }} | ||
+ | |||
== Supertypes == | == Supertypes == | ||
* [[parent::Texture (Français)|Texture]] | * [[parent::Texture (Français)|Texture]] | ||
* [[parent::Drawable (Français)|Drawable]] | * [[parent::Drawable (Français)|Drawable]] | ||
* [[parent::Object (Français)|Object]] | * [[parent::Object (Français)|Object]] | ||
+ | |||
== Exemples == | == Exemples == | ||
=== Dessiner quelque chose sur le Canvas, puis dessiner le Canvas à l'écran. === | === Dessiner quelque chose sur le Canvas, puis dessiner le Canvas à l'écran. === | ||
Line 87: | Line 92: | ||
== Voir également == | == Voir également == | ||
− | * [[parent::love.graphics (Français) | + | * [[parent::love.graphics (Français)]] |
− | * [[love.graphics.setCanvas]] | + | * [[love.graphics.setCanvas (Français)]] |
− | * [[love.graphics.setBlendMode]] | + | * [[love.graphics.setBlendMode (Français)]] |
− | * [[love.graphics.isSupported]] | + | * [[love.graphics.isSupported (Français)]] |
[[Category:Types (Français)]] | [[Category:Types (Français)]] | ||
{{#set:Description=Rendu d'image hors écran.}} | {{#set:Description=Rendu d'image hors écran.}} | ||
+ | {{#set:Since=080}} | ||
== Autres langues == | == Autres langues == | ||
{{i18n|Canvas}} | {{i18n|Canvas}} |
Latest revision as of 19:45, 14 March 2022
Disponible depuis LÖVE 0.8.0 |
Ceci est un renommage de Framebuffer. |
Un Canvas (toile) est utilisé pour le rendu hors écran. Pensez à un écran invisible sur lequel vous pouvez dessiner, mais qui sera invisible jusqu'à ce que vous l'affichiez sur l'écran final qui sera visible. Cette technique est également connue sous le nom « rendu dans une texture ».
En dessinant des choses qui ne changent pas souvent de position (tels que les objets du fond) sur un Canvas, puis en dessinant le Canvas complet au lieu de chaque objets, vous pouvez réduire le nombre d'opération de tracé effectué à chaque image temporelle.
Dans les version précédentes à la 0.10.0, les cartes graphiques que supportaient LÖVE ne pouvaient pas toutes utiliser des Canvas. love.graphics.isSupported("canvas") pouvait être utilisé pour vérifier son support pendant l'exécution.
Lorsque du contenu est dessiné sur un Canvas en utilisant un mixage alpha standard, les valeurs alpha de ce contenu sont multipliées avec leur valeurs RVB.
Les couleurs des pixels du Canvas auront donc un alpha prémultiplié une fois qu'il y aura été dessiné. Lorsque le Canvas est tracé à l'écran ou sur un autre Canvas, vous devez donc utiliser un mélange alpha prémultiplié – love.graphics.setBlendMode("alpha", "premultiplied"). |
Contents
Constructeurs
love.graphics.newCanvas (Français) | Crée un nouveau Canvas. |
Fonctions
Toutes les fonctions n'ont peut être pas encore été traduites, veuillez vous référer à la version en anglais pour la liste complète. |
Canvas:generateMipmaps (Français) | Génère des mipmaps pour le Canvas, en se basant sur le contenu du niveau de mipmap de résolution la plus élevée. | ||
Canvas:getFormat (Français) | Retourne le format de texture du Canevas. | ||
Canvas:getMSAA (Français) | Retourne le nombre d'échantillons de l'anticrénelage multi-échantillon (MSAA) utilisé lors du tracé du Canevas. | ||
Canvas:getMipmapMode (Français) | Récupère le MipmapMode (mode de mipmap) dans lequel ce Canvas a été créé. | ||
Canvas:newImageData (Français) | Génère un objet ImageData (données d'image) à partir du contenu du Canvas. | ||
Canvas:renderTo (Français) | Render to a Canvas using a function. | ||
Object:release (Français) | Détruit immédiatement la référence Lua à l'objet. | ||
Object:type (Français) | Retourne le type d'un objet comme une chaîne de caractère. | ||
Object:typeOf (Français) | Test si un objet est d'un certain type. | ||
Texture:getDPIScale (Français) | Retourne le facteur d'échelle en DPI (PPP) de la Texture. | ||
Texture:getDepth (Français) | Récupère la profondeur d'une Texture en volume.]]. | ||
Texture:getDepthSampleMode (Français) | Récupère le mode de comparaison utilisé lors d'un échantillonnage depuis une depth texture (texture de profondeur) dans un shader. | ||
Texture:getDimensions (Français) | Retourne la largeur et hauteur de la Texture. | ||
Texture:getFilter (Français) | Retourne le mode de filtrage de la Texture. | ||
Texture:getFormat (Français) | Définit le format de pixel de la Texture. | ||
Texture:getHeight (Français) | Retourne la hauteur de la Texture. | ||
Texture:getLayerCount (Français) | Récupère le nombre de calques / tranches dans une Array Texture (texture en tableau). | ||
Texture:getMipmapCount (Français) | Retourne le nombre de mipmaps contenus dans la Texture. | ||
Texture:getMipmapFilter (Français) | Définit le mode de filtrage mimap pour une Texture. | ||
Texture:getPixelDimensions (Français) | Récupère la largeur et hauteur en pixels de la Texture. | ||
Texture:getPixelHeight (Français) | Récupère la hauteur, en pixels, de la Texture. | ||
Texture:getPixelWidth (Français) | Récupère la largeur, en pixels, de la Texture. | ||
Texture:getTextureType (Français) | Retourne le type de texture. | ||
Texture:getWidth (Français) | Retourne la largeur de la Texture. | ||
Texture:getWrap (Français) | Récupère les propriétés de bouclage d'une Texture. | ||
Texture:isReadable (Français) | Retourne si la Texture peut être ou non tracée et envoyée à un ombrage. | ||
Texture:setDepthSampleMode (Français) | Définit le mode de comparaison utilisé lors de l'échantillonnage depuis la texture de profondeur dans un ombrage. | ||
Texture:setFilter (Français) | Définit le mode de filtre de la Texture. | ||
Texture:setMipmapFilter (Français) | Sets the mipmap filter mode for a Texture. | 0.9.0 | |
Texture:setWrap (Français) | Définit les propriétés de bouclage d'une Texture. |
Enums
MipmapMode (Français) | Contrôle si un Canvas comporte des mipmaps, et sans comportement dans ce cas. | 11.0 |
Supertypes
Exemples
Dessiner quelque chose sur le Canvas, puis dessiner le Canvas à l'écran.
function love.load()
canvas = love.graphics.newCanvas(800, 600)
-- Un rectangle est dessiné sur le canvas avec une mode de mixage alpha standard.
love.graphics.setCanvas(canvas)
love.graphics.clear()
love.graphics.setBlendMode("alpha")
love.graphics.setColor(1, 0, 0, 0.5)
love.graphics.rectangle('fill', 0, 0, 100, 100)
love.graphics.setCanvas()
end
function love.draw()
-- Trés important ! : remettez à zéro la couleur avant de dessiner sur le canvas, afin d'avoir les couleurs affichées corréctement.
-- Voir cette discussion : https://love2d.org/forums/viewtopic.php?f=4&p=211418#p211418
love.graphics.setColor(1, 1, 1, 1)
-- Le rectangle du Canvas a déjà été mélangé en alpha.
-- Utilise le mode mélange alpha prémultiplié lorsque dessine le Canvas lui-même, afin de prévenir des mélanges impropres.
love.graphics.setBlendMode("alpha", "premultiplied")
love.graphics.draw(canvas)
-- Observez la différence si le Canvas est dessiné avec le mode mélange alpha standard à la place.
love.graphics.setBlendMode("alpha")
love.graphics.draw(canvas, 100, 0)
-- Le rectangle est dessiné directement à l'écran avec le mode mélange alpha standard.
love.graphics.setBlendMode("alpha")
love.graphics.setColor(1, 0, 0, 0.5)
love.graphics.rectangle('fill', 200, 0, 100, 100)
end
Voir également
- love.graphics (Français)
- love.graphics.setCanvas (Français)
- love.graphics.setBlendMode (Français)
- love.graphics.isSupported (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