Difference between revisions of "Shader"

(prominently mention pragma language glsl3 (it took ages before I realized this was necessary).)
(See Also)
 
Line 37: Line 37:
 
* [[love.graphics.setShader]]
 
* [[love.graphics.setShader]]
 
* [[Shader Variables]]
 
* [[Shader Variables]]
 +
* [https://blogs.love2d.org/content/beginners-guide-shaders A Beginner's Guide to Shaders]
 
[[Category:Types]]
 
[[Category:Types]]
 
{{#set:Description=Shader effect.}}
 
{{#set:Description=Shader effect.}}
 +
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|Shader}}
 
{{i18n|Shader}}

Latest revision as of 14:16, 2 April 2023

Available since LÖVE 0.9.0
This type is not supported in earlier versions.

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

To use the most recent version of GLSL, you must put #pragma language glsl3 at the top of your shader files. See love.graphics.newShader for details.

Constructors

love.graphics.newShader Creates a new Shader. Added since 0.9.0

Functions

Object:release Immediately destroys the object's Lua reference. Added since 11.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.
Shader:getExternVariable Gets information about an 'extern' ('uniform') variable in the Shader. Added since 0.9.2 Removed in 11.0
Shader:getWarnings Gets warning and error messages (if any). Added since 0.9.0
Shader:hasUniform Gets whether a uniform / extern variable exists in the Shader. Added since 11.0
Shader:send Sends one or more values to the shader. Added since 0.9.0
Shader:sendColor Sends one or more colors to the shader. Added since 0.10.0

Supertypes

See Also


Other Languages