Documentation of 'processing.opengl.PShader' Java class
PShader
processing.opengl

Class PShader

  • All Implemented Interfaces:
    PConstants


    public class PShader
    extends java.lang.Object
    implements PConstants
    This class encapsulates a GLSL shader program, including a vertex and a fragment shader. Based on the GLSLShader class from GLGraphics, which in turn was originally based in the code by JohnG: http://processing.org/discourse/beta/num_1159494801.html
    • Field Detail

      • glProgram

        public int glProgram
      • glVertex

        public int glVertex
      • glFragment

        public int glFragment
    • Constructor Detail

      • PShader

        public PShader()
      • PShader

        public PShader(PApplet parent)
      • PShader

        public PShader(PApplet parent,
                       java.lang.String vertFilename,
                       java.lang.String fragFilename)
        Creates a shader program using the specified vertex and fragment shaders.
        Parameters:
        parent - the parent program
        vertFilename - name of the vertex shader
        fragFilename - name of the fragment shader
      • PShader

        public PShader(PApplet parent,
                       java.net.URL vertURL,
                       java.net.URL fragURL)
        Parameters:
        vertURL - network location of the vertex shader
        fragURL - network location of the fragment shader
      • PShader

        public PShader(PApplet parent,
                       java.lang.String[] vertSource,
                       java.lang.String[] fragSource)
    • Method Detail

      • setVertexShader

        public void setVertexShader(java.lang.String vertFilename)
      • setVertexShader

        public void setVertexShader(java.net.URL vertURL)
      • setVertexShader

        public void setVertexShader(java.lang.String[] vertSource)
      • setFragmentShader

        public void setFragmentShader(java.lang.String fragFilename)
      • setFragmentShader

        public void setFragmentShader(java.net.URL fragURL)
      • setFragmentShader

        public void setFragmentShader(java.lang.String[] fragSource)
      • bind

        public void bind()
        Initializes (if needed) and binds the shader program.
      • unbind

        public void unbind()
        Unbinds the shader program.
      • bound

        public boolean bound()
        Returns true if the shader is bound, false otherwise.
      • set

        public void set(java.lang.String name,
                        int x)
        Parameters:
        name - the name of the uniform variable to modify
        x - first component of the variable to modify
      • set

        public void set(java.lang.String name,
                        int x,
                        int y)
        Parameters:
        y - second component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[2], vec2)
      • set

        public void set(java.lang.String name,
                        int x,
                        int y,
                        int z)
        Parameters:
        z - third component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[3], vec3)
      • set

        public void set(java.lang.String name,
                        int x,
                        int y,
                        int z,
                        int w)
        Parameters:
        w - fourth component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[4], vec4)
      • set

        public void set(java.lang.String name,
                        float x)
      • set

        public void set(java.lang.String name,
                        float x,
                        float y)
      • set

        public void set(java.lang.String name,
                        float x,
                        float y,
                        float z)
      • set

        public void set(java.lang.String name,
                        float x,
                        float y,
                        float z,
                        float w)
      • set

        public void set(java.lang.String name,
                        PVector vec)
        Parameters:
        vec - modifies all the components of an array/vector uniform variable. PVector can only be used if the type of the variable is vec3.
      • set

        public void set(java.lang.String name,
                        boolean x)
      • set

        public void set(java.lang.String name,
                        boolean x,
                        boolean y)
      • set

        public void set(java.lang.String name,
                        boolean x,
                        boolean y,
                        boolean z)
      • set

        public void set(java.lang.String name,
                        boolean x,
                        boolean y,
                        boolean z,
                        boolean w)
      • set

        public void set(java.lang.String name,
                        int[] vec)
      • set

        public void set(java.lang.String name,
                        int[] vec,
                        int ncoords)
        Parameters:
        ncoords - number of coordinates per element, max 4
      • set

        public void set(java.lang.String name,
                        float[] vec)
      • set

        public void set(java.lang.String name,
                        float[] vec,
                        int ncoords)
      • set

        public void set(java.lang.String name,
                        boolean[] vec)
      • set

        public void set(java.lang.String name,
                        boolean[] boolvec,
                        int ncoords)
      • set

        public void set(java.lang.String name,
                        PMatrix2D mat)
        Parameters:
        mat - matrix of values
      • set

        public void set(java.lang.String name,
                        PMatrix3D mat)
      • set

        public void set(java.lang.String name,
                        PMatrix3D mat,
                        boolean use3x3)
        Parameters:
        use3x3 - enforces the matrix is 3 x 3
      • set

        public void set(java.lang.String name,
                        PImage tex)
        Parameters:
        tex - sets the sampler uniform variable to read from this image texture
      • init

        public void init()

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.