love.graphics.setCanvas (Français)
Disponible depuis LÖVE 0.8.0 |
il s'agît d'un renommage de love.graphics.setRenderTarget. |
Capture les opérations de tracé dans un Canvas.
Contents
Fonction
Définit la cible du rendu à un Canvas spécifique. Toutes les opérations de tracé jusqu'au prochain appel à love.graphics.setCanvas seront redirigés vers le Canvas et ne seront pas affichés à l'écran.
Lorsqu'un stencil ou or test de profondeur est utilisé avec un Canvas actif, le tampon de stencil ou de profondeur soit être explicitement activé à l'aide de setCanvas via la variante ci-dessous.
Il faut noter que le canvas doit être actif lorsque love.graphics.present est appelé. love.graphics.present est appelé à la fin de love.draw dans le love.run par défaut, ainsi si vous activez un canvas en utilisant cette fonction, vous avez normalement besoin de le désactiver à un moment, avant que love.draw ne finisse.
Synopsis
love.graphics.setCanvas( canvas, mipmap )
Arguments
Canvas (Français) canvas
- La nouvelle cible.
number (Français) mipmap (1)
- Le niveau de mipmap auquel rendre, pour les Canvases avec mipmaps.
Retourne
Rien.
Fonction
Remet la cible de rendu vers l'écran, c'est à dire réactive le tracé à l'écran.
Synopsis
love.graphics.setCanvas( )
Arguments
Aucun.
Retourne
Rien.
Fonction
Disponible depuis LÖVE 0.9.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
Définit la cible de rendu simultanément vers de multiples Canvas 2D. Toutes les opérations de tracés jusqu'au prochain appel à love.graphics.setCanvas seront redirigés vers les canvas spécifiés et ne seront pas affichés à l'écran.
Synopsis
love.graphics.setCanvas( canvas1, canvas2, ... )
Arguments
Canvas (Français) canvas1
- Première cible de rendu.
Canvas (Français) canvas2
- Seconde cible de rendu.
Canvas (Français) ...
- D'avantage de canvas.
Retourne
Rien.
Notes
Normalement toutes les opérations de tracés ne sont effectuées que sur le premier canvas passé à la fonction, mais cela peut être changé si un ombrage de est utilisé avec la fonction void effect
au lieu de vec4 effect
standard.
Tous les arguments canvas doivent avoir les mêmes largeurs et hauteurs, ainsi que le même type de texture. Les ordinateurs supportant les canvas ne supporteront pas tous plusieurs cibles de rendu. Si love.graphics.isSupported("multicanvas") retourne true (vrai), au moins 4 canvas actifs simultanément sont supportés.
Fonction
Disponible depuis LÖVE 11.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
Définit la cible de rendu au calque/slice et niveau de mipmap spécifiés du Canvas non-2D fournit. Toutes les opérations de tracé jusqu'au prochain appel à love.graphics.setCanvas seront redirigé vers le Canvas et ne seront pas affichés à l'écran.
Synopsis
love.graphics.setCanvas( canvas, slice, mipmap )
Arguments
Canvas (Français) canvas
- Nouvelle cible.
number (Français) slice
- For cubemaps this is the cube face index to render to (between 1 and 6). For Array textures this is the array layer. For volume textures this is the depth slice. 2D canvases should use a value of 1.
number mipmap (1)
- The mipmap level to render to, for Canvases with mipmaps.
Returns
Nothing.
Fonction
Disponible depuis LÖVE 11.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
Sets the active render target(s) and active stencil and depth buffers based on the specified setup information. All drawing operations until the next love.graphics.setCanvas call will be redirected to the specified Canvases and not shown on the screen.
Synopsis
love.graphics.setCanvas( setup )
Arguments
table setup
- A table specifying the active Canvas(es), their mipmap levels and active layers if applicable, and whether to use a stencil and/or depth buffer.
RenderTargetSetup [1]
- The Canvas to render to.
RenderTargetSetup [2] (nil)
- An additional Canvas to render to, if multiple simultaneous render targets are wanted.
RenderTargetSetup ...
- Additional Canvases to render to, if multiple simultaneous render targets are wanted.
boolean stencil (false)
- Whether an internally managed stencil buffer should be used, if the
depthstencil
field isn't set. boolean depth (false)
- Whether an internally managed depth buffer should be used, if the
depthstencil
field isn't set. RenderTargetSetup depthstencil (nil)
- An optional custom depth/stencil formatted Canvas to use for the depth and/or stencil buffer.
Returns
Nothing.
Notes
The RenderTargetSetup
parameters can either be a Canvas object, or a table in the following format: {canvas, mipmap=#, layer=#, face=#}
Canvas [1]
- The Canvas to use for this active render target.
number mipmap (1)
- The mipmap level to render to, for Canvases with mipmaps.
number layer (1)
- Only used for Volume and Array-type Canvases. For Array textures this is the array layer to render to. For volume textures this is the depth slice.
number face (1)
- Only used for Cubemap-type Canvases. The cube face index to render to (between 1 and 6)
Exemples
Tracer sur un canvas
function love.load()
-- Crée un canvas
canvas = love.graphics.newCanvas()
-- Opération de tracés directement sur le canvas
love.graphics.setCanvas(canvas)
-- trace un carré coloré sur le canvas
love.graphics.setColor(0.8, 0.9, 0.4)
love.graphics.rectangle("fill", 0, 0, 100, 100)
-- re-active le tracé sur l'écran principal
love.graphics.setCanvas()
end
function love.draw()
-- Trace le canvas agrandit à l'écran
love.graphics.setColor(1, 1, 1)
love.graphics.draw(canvas, 200, 100, 0, 0.5, 0.5)
end
Réglages avancés avec la variante table de love.graphics.setCanvas
-- Permet les appels à love.graphics.stencil lors du tracé sur le Canvas donné.
love.graphics.setCanvas({canvas, stencil=true})
-- Utilise plusieurs cibles de rendu simultanément lorsque trace vers plusieurs canvas de type Array Texture (Table de texture),
-- et utilise également un un tampon de profondeur personnalisé.
canvas1 = love.graphics.newCanvas(128, 128, 4, {type="array"})
canvas2 = love.graphics.newCanvas(128, 128, 8, {type="array"})
depthcanvas = love.graphics.newCanvas(128, 128, {format="depth24", readable=true})
love.graphics.setCanvas({
{canvas1, layer = 3},
{canvas2, layer = 1},
depthstencil = depthcanvas,
})
Voir également
- love.graphics (Français)
- love.graphics.getCanvas (Français)
- Canvas (Français)
- Canvas:renderTo (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