Establece el objeto p5.Shader para aplicar mientras se dibuja.
Los shaders son programas que se ejecutan en la unidad de procesamiento gráfico (GPU). Pueden procesar muchos píxeles o vértices al mismo tiempo, lo que los hace rápidos para muchas tareas gráficas. Están escritos en un lenguaje llamado GLSL y se ejecutan junto con el resto del código en un sketch.
Los objetos p5.Shader se pueden crear utilizando las funciones createShader() y loadShader().
El parámetro s
es el objeto p5.Shader que se va a aplicar. Por ejemplo, llamar a shader(myShader)
aplica myShader
para procesar cada píxel en el lienzo. El shader se utilizará para:
- Rellenar cuando se habilita una textura si incluye un uniforme
sampler2D
. - Rellenar cuando se habilitan luces si incluye el atributo
aNormal
, o si tiene alguno de los siguientes uniformes:uUseLighting
,uAmbientLightCount
,uDirectionalLightCount
,uPointLightCount
,uAmbientColor
,uDirectionalDiffuseColors
,uDirectionalSpecularColors
,uPointLightLocation
,uPointLightDiffuseColors
,uPointLightSpecularColors
,uLightingDirection
ouSpecular
. - Rellenar cuando no hay luces ni texturas.
- Trazar líneas si incluye el uniforme
uStrokeWeight
.
El código fuente de los shaders de fragmentos y vértices de un objeto p5.Shader se compilará la primera vez que se pase a shader()
. Consulta MDN para obtener más información sobre la compilación de shaders.
Llamar a resetShader() restaura los shaders predeterminados del sketch.
Nota: Los shaders solo se pueden utilizar en el modo WebGL.
Ejemplos
Sintaxis
shader(s)
Parámetros
Objeto p5.Shader para aplicar.
Referencias Relacionadas
copyToContext
Copia el shader de un contexto de dibujo a otro.
setUniform
Establece los valores de las variables uniformes (globales) del shader.
ambientMaterial
Establece el color ambiental del material de la superficie de las formas.
createFilterShader
Crea un objeto p5.Shader para ser utilizado con la función filter().