{{newin|[[0.9.0]]|090|type=type}}
A Shader is used for advanced hardware-accelerated pixel or vertex manipulation. These effects are written in a language based on GLSL (OpenGL Shading Language) with a few things simplified for easier coding.

Potential uses for shaders include HDR/bloom, motion blur, grayscale/invert/sepia/any kind of color effect, reflection/refraction, distortions, bump mapping, and much more! Here is a collection of basic shaders and good starting point to learn: https://github.com/vrld/moonshine

== Constructors ==
{{#ask: [[Category:Functions]] [[Constructs::Shader]] [[Concept:Current]]
| headers=hide
| default=None.
| format=template
| template=ListingFields
| introtemplate=ListingIntro
| outrotemplate=ListingOutro
| ?Description
| ?PrettySince
| ?PrettyRemoved
| ?PrettyDeprecated
}}
== Functions ==
{{#ask: [[Category:Functions]] [[parent::Shader||Object]] [[Concept:Current]]
| headers=hide
| format=template
| template=ListingFields
| introtemplate=ListingIntro
| outrotemplate=ListingOutro
| ?Description
| ?PrettySince
| ?PrettyRemoved
| ?PrettyDeprecated
}}
== Supertypes ==
* [[parent::Object]]
== See Also ==
* [[parent::love.graphics]]
* [[love.graphics.setShader]]
* [[Shader Variables]]
[[Category:Types]]
{{#set:Description=Shader effect.}}
== Other Languages ==
{{i18n|Shader}}