Difference between revisions of "Shader"

m
m
(5 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
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.
 
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 pixel effects include HDR/bloom, motion blur, grayscale/invert/sepia/any kind of color effect, reflection/refraction, distortions, bump mapping, and much more!
+
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 ==
 
== Constructors ==
{{#ask: [[Category:Functions]] [[Constructs::Shader]]
+
{{#ask: [[Category:Functions]] [[Constructs::Shader]] [[Concept:Current]]
 
| headers=hide
 
| headers=hide
 
| default=None.
 
| default=None.
Line 15: Line 15:
 
| ?PrettySince
 
| ?PrettySince
 
| ?PrettyRemoved
 
| ?PrettyRemoved
 +
| ?PrettyDeprecated
 
}}
 
}}
 
== Functions ==
 
== Functions ==
{{#ask: [[Category:Functions]] [[parent::Shader||Object]]
+
{{#ask: [[Category:Functions]] [[parent::Shader||Object]] [[Concept:Current]]
 
| headers=hide
 
| headers=hide
 
| format=template
 
| format=template
Line 26: Line 27:
 
| ?PrettySince
 
| ?PrettySince
 
| ?PrettyRemoved
 
| ?PrettyRemoved
 +
| ?PrettyDeprecated
 
}}
 
}}
 
== Supertypes ==
 
== Supertypes ==
Line 32: Line 34:
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
 
* [[love.graphics.setShader]]
 
* [[love.graphics.setShader]]
 +
* [[Shader Variables]]
 
[[Category:Types]]
 
[[Category:Types]]
 
{{#set:Description=Shader effect.}}
 
{{#set:Description=Shader effect.}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|Shader}}
 
{{i18n|Shader}}
 
@todo: Re-add [[Concept:Current]] when done adding child pages.
 

Revision as of 06:20, 22 July 2019

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

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