Difference between revisions of "love.graphics.setBlendMode"

(Added example)
m (Newin template)
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{newin|[[0.2.0]]|020|type=function}}
 
{{newin|[[0.2.0]]|020|type=function}}
Sets the blending mode.
+
Sets the [[BlendMode|blending mode]].
 +
 
 
== Function ==
 
== Function ==
 
=== Synopsis ===
 
=== Synopsis ===
Line 10: Line 11:
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
Nothing.
 +
 +
== Function ==
 +
{{newin|[[0.10.0]]|100|type=variant}}
 +
=== Synopsis ===
 +
<source lang="lua">
 +
love.graphics.setBlendMode( mode, alphamode )
 +
</source>
 +
=== Arguments ===
 +
{{param|BlendMode|mode|The blend mode to use.}}
 +
{{param|BlendAlphaMode|alphamode ("alphamultiply")|What to do with the alpha of drawn objects when blending.}}
 +
=== Returns ===
 +
Nothing.
 +
=== Notes ===
 +
The default "alphamultiply" alpha mode should normally be preferred except when drawing content with pre-multiplied alpha. If content is drawn to a [[Canvas]] using the "alphamultiply" mode, the Canvas texture will have pre-multiplied alpha afterwards, so the "premultiplied" alpha mode should generally be used when drawing a Canvas to the screen.
 +
 
==Example==
 
==Example==
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
love.graphics.setBackgroundColor(54, 172, 248)
+
love.graphics.setBackgroundColor(54/255, 172/255, 248/255)
 
end
 
end
  
 
function love.draw()
 
function love.draw()
 
love.graphics.setBlendMode("alpha") --Default blend mode
 
love.graphics.setBlendMode("alpha") --Default blend mode
love.graphics.setColor(230, 44, 123)
+
love.graphics.setColor(230/255, 44/255, 123/255)
 
love.graphics.rectangle("fill", 50, 50, 100, 100)
 
love.graphics.rectangle("fill", 50, 50, 100, 100)
 
 
love.graphics.setColor(12, 100, 230)
+
love.graphics.setColor(12/255, 100/255, 230/255)
love.graphics.setBlendMode("multiplicative")
+
love.graphics.setBlendMode("multiply")
 
love.graphics.rectangle("fill", 75, 75, 125, 125)
 
love.graphics.rectangle("fill", 75, 75, 125, 125)
 
end
 
end
 
</source>
 
</source>
 +
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
 
* [[love.graphics.getBlendMode]]
 
* [[love.graphics.getBlendMode]]
 +
* [[BlendMode]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Sets the blending mode.}}
 
{{#set:Description=Sets the blending mode.}}
 +
{{#set:Sub-Category=State}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.graphics.setBlendMode}}
 
{{i18n|love.graphics.setBlendMode}}

Revision as of 09:08, 31 December 2019

Available since LÖVE 0.2.0
This function is not supported in earlier versions.

Sets the blending mode.

Function

Synopsis

love.graphics.setBlendMode( mode )

Arguments

BlendMode mode
The blend mode to use.

Returns

Nothing.

Function

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Synopsis

love.graphics.setBlendMode( mode, alphamode )

Arguments

BlendMode mode
The blend mode to use.
BlendAlphaMode alphamode ("alphamultiply")
What to do with the alpha of drawn objects when blending.

Returns

Nothing.

Notes

The default "alphamultiply" alpha mode should normally be preferred except when drawing content with pre-multiplied alpha. If content is drawn to a Canvas using the "alphamultiply" mode, the Canvas texture will have pre-multiplied alpha afterwards, so the "premultiplied" alpha mode should generally be used when drawing a Canvas to the screen.

Example

function love.load()
	love.graphics.setBackgroundColor(54/255, 172/255, 248/255)
end

function love.draw()
	love.graphics.setBlendMode("alpha") --Default blend mode
	love.graphics.setColor(230/255, 44/255, 123/255)
	love.graphics.rectangle("fill", 50, 50, 100, 100)
	
	love.graphics.setColor(12/255, 100/255, 230/255)
	love.graphics.setBlendMode("multiply")
	love.graphics.rectangle("fill", 75, 75, 125, 125)
end

See Also


Other Languages