Reference+
Class Name
PShader
Description
This class encapsulates a GLSL shader program, including a vertex and a fragment shader. It is compatible with P2D and P3D, but not with the default renderer. Use the loadShader() function to load your shader code. Note: It's strongly encouraged to use loadShader() to create a PShader object, rather than calling the PShader constructor manually.
Examples
PShader blur; void setup() { size(640, 360, P2D); // Shaders files must be in the "data" folder to load correctly blur = loadShader("blur.glsl"); stroke(0, 102, 153); rectMode(CENTER); } void draw() { filter(blur); rect(mouseX-75, mouseY, 150, 150); ellipse(mouseX+75, mouseY, 150, 150); }PImage tex; PShader deform; void setup() { size(640, 360, P2D); tex = loadImage("tex1.jpg"); deform = loadShader("deform.glsl"); deform.set("resolution", float(width), float(height)); } void draw() { deform.set("time", millis() / 1000.0); deform.set("mouse", float(mouseX), float(mouseY)); shader(deform); image(tex, 0, 0, width, height); }
Constructors
PShader()PShader(parent)PShader(parent, vertFilename, fragFilename)PShader(parent, vertURL, fragURL)PShader(parent, vertSource, fragSource)
Parameters
parentthe parent programvertFilenamename of the vertex shaderfragFilenamename of the fragment shadervertURLnetwork location of the vertex shaderfragURLnetwork location of the fragment shader
Methods
set()Sets a variable within the shader

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.