Difference between revisions of "love.graphics.setBlendMode"

(Making the BlendMode page more findable)
m
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{newin|[[0.2.0]]|020|type=function}}
 
{{newin|[[0.2.0]]|020|type=function}}
 
Sets the [[BlendMode|blending mode]].
 
Sets the [[BlendMode|blending mode]].
 +
 
== Function ==
 
== Function ==
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.setBlendMode( mode )
+
love.graphics.setBlendMode( mode, alphamode )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
 
{{param|BlendMode|mode|The blend mode to use.}}
 
{{param|BlendMode|mode|The blend mode to use.}}
 +
{{New feature|0.10.0|
 +
{{param|BlendAlphaMode|alphamode ("alphamultiply")|What to do with the alpha of drawn objects when blending.}}
 +
}}
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
Nothing.
==Example==
+
=== 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.
 +
 
 +
== Examples ==
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
love.graphics.setBackgroundColor(54, 172, 248)
+
love.graphics.setBackgroundColor(.21, .67, .97)
 
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(.90, .17, .48)
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(.04, .39, .90)
love.graphics.setBlendMode("multiplicative")
+
love.graphics.setBlendMode("multiply", "premultiplied")
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]]
Line 32: Line 40:
 
[[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}}

Latest revision as of 14:40, 5 November 2023

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, alphamode )

Arguments

BlendMode mode
The blend mode to use.
Available since LÖVE 0.10.0
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.

Examples

function love.load()
	love.graphics.setBackgroundColor(.21, .67, .97)
end

function love.draw()
	love.graphics.setBlendMode("alpha") -- Default blend mode.
	love.graphics.setColor(.90, .17, .48)
	love.graphics.rectangle("fill", 50,50, 100,100)

	love.graphics.setColor(.04, .39, .90)
	love.graphics.setBlendMode("multiply", "premultiplied")
	love.graphics.rectangle("fill", 75,75, 125,125)
end

See Also


Other Languages