diff --git a/java/libraries/opengl/examples/Shaders/EdgeDetect/EdgeDetect.pde b/java/libraries/opengl/examples/Shaders/EdgeDetect/EdgeDetect.pde index 46b18e946..eeff962d1 100644 --- a/java/libraries/opengl/examples/Shaders/EdgeDetect/EdgeDetect.pde +++ b/java/libraries/opengl/examples/Shaders/EdgeDetect/EdgeDetect.pde @@ -14,8 +14,8 @@ void setup() { img = loadImage("berlin-1.jpg"); pg = (PGraphicsOpenGL)g; - shader = pg.loadShader("edges.glsl", TEXTURE_SHADER); - pg.setShader(shader, TEXTURE_SHADER); + shader = pg.loadShader("edges.glsl", PShader.TEXTURE_SHADER); + pg.setShader(shader, PShader.TEXTURE_SHADER); customShader = true; } @@ -25,10 +25,10 @@ public void draw() { public void mousePressed() { if (customShader) { - pg.defaultShader(TEXTURE_SHADER); + pg.defaultShader(PShader.TEXTURE_SHADER); customShader = false; } else { - pg.setShader(shader, TEXTURE_SHADER); + pg.setShader(shader, PShader.TEXTURE_SHADER); customShader = true; } } diff --git a/java/libraries/opengl/examples/Shaders/FXAA/FXAA.pde b/java/libraries/opengl/examples/Shaders/FXAA/FXAA.pde index 76916aa89..d799fc97d 100644 --- a/java/libraries/opengl/examples/Shaders/FXAA/FXAA.pde +++ b/java/libraries/opengl/examples/Shaders/FXAA/FXAA.pde @@ -20,8 +20,8 @@ void setup() { canvas.noSmooth(); pg = (PGraphicsOpenGL) g; - shader = pg.loadShader("fxaa.glsl", TEXTURE_SHADER); - pg.setShader(shader, TEXTURE_SHADER); + shader = pg.loadShader("fxaa.glsl", PShader.TEXTURE_SHADER); + pg.setShader(shader, PShader.TEXTURE_SHADER); usingShader = true; canvas.beginDraw(); @@ -55,10 +55,10 @@ public void draw() { public void mousePressed() { if (!drawing && width - msgLen < mouseX && height - 23 < mouseY) { if (usingShader) { - pg.defaultShader(TEXTURE_SHADER); + pg.defaultShader(PShader.TEXTURE_SHADER); usingShader = false; } else { - pg.setShader(shader, TEXTURE_SHADER); + pg.setShader(shader, PShader.TEXTURE_SHADER); usingShader = true; } updateMessage(); @@ -84,11 +84,11 @@ void drawMessage() { if (usingShader) { // We need the default texture shader to // render text. - pg.defaultShader(TEXTURE_SHADER); + pg.defaultShader(PShader.TEXTURE_SHADER); } fill(0); text(message, width - msgLen, height - 5); if (usingShader) { - pg.setShader(shader, TEXTURE_SHADER); + pg.setShader(shader, PShader.TEXTURE_SHADER); } } diff --git a/java/libraries/opengl/examples/Shaders/ToonShading/ToonShading.pde b/java/libraries/opengl/examples/Shaders/ToonShading/ToonShading.pde index 81eb02617..e4a248f94 100644 --- a/java/libraries/opengl/examples/Shaders/ToonShading/ToonShading.pde +++ b/java/libraries/opengl/examples/Shaders/ToonShading/ToonShading.pde @@ -13,8 +13,8 @@ public void setup() { fill(204); pg = (PGraphicsOpenGL)g; - shader = pg.loadShader("ToonVert.glsl", "ToonFrag.glsl", LIGHT_SHADER); - pg.setShader(shader, LIGHT_SHADER); + shader = pg.loadShader("ToonVert.glsl", "ToonFrag.glsl", PShader.LIGHT_SHADER); + pg.setShader(shader, PShader.LIGHT_SHADER); customShader = true; } @@ -31,11 +31,11 @@ public void draw() { public void mousePressed() { if (dist(mouseX, mouseY, width/2, height/2) < 80) { if (customShader) { - pg.defaultShader(LIGHT_SHADER); + pg.defaultShader(PShader.LIGHT_SHADER); customShader = false; } else { - pg.setShader(shader, LIGHT_SHADER); + pg.setShader(shader, PShader.LIGHT_SHADER); customShader = true; } } diff --git a/java/libraries/opengl/src/processing/opengl/PGraphicsOpenGL.java b/java/libraries/opengl/src/processing/opengl/PGraphicsOpenGL.java index ed64f238c..7af3fe64c 100644 --- a/java/libraries/opengl/src/processing/opengl/PGraphicsOpenGL.java +++ b/java/libraries/opengl/src/processing/opengl/PGraphicsOpenGL.java @@ -47,17 +47,6 @@ import java.util.Stack; * */ public class PGraphicsOpenGL extends PGraphics { - // shaders - static public final int FLAT_SHADER = 0; - static public final int LIGHT_SHADER = 1; - static public final int TEXTURE_SHADER = 2; - static public final int FULL_SHADER = 3; - static public final int LINE3D_SHADER = 4; - static public final int POINT3D_SHADER = 5; - - public int textureWrap = Texture.CLAMP; - public int textureQuality = Texture.BEST; - /** Interface between Processing and OpenGL */ public PGL pgl; @@ -301,6 +290,13 @@ public class PGraphicsOpenGL extends PGraphics { // ........................................................ + // Texturing: + + public int textureWrap = Texture.CLAMP; + public int textureQuality = Texture.BEST; + + // ........................................................ + // Blending: protected int blendMode; @@ -5387,17 +5383,17 @@ public class PGraphicsOpenGL extends PGraphics { public PShader loadShader(String vertFilename, String fragFilename, int kind) { - if (kind == FLAT_SHADER) { + if (kind == PShader.FLAT_SHADER) { return new PolyFlatShader(parent, vertFilename, fragFilename); - } else if (kind == LIGHT_SHADER) { + } else if (kind == PShader.LIGHT_SHADER) { return new PolyLightShader(parent, vertFilename, fragFilename); - } else if (kind == TEXTURE_SHADER) { + } else if (kind == PShader.TEXTURE_SHADER) { return new PolyTexShader(parent, vertFilename, fragFilename); - } else if (kind == FULL_SHADER) { + } else if (kind == PShader.FULL_SHADER) { return new PolyFullShader(parent, vertFilename, fragFilename); - } else if (kind == LINE3D_SHADER) { + } else if (kind == PShader.LINE3D_SHADER) { return new LineShader(parent, vertFilename, fragFilename); - } else if (kind == POINT3D_SHADER) { + } else if (kind == PShader.POINT3D_SHADER) { return new PointShader(parent, vertFilename, fragFilename); } else { PGraphics.showWarning("Wrong shader type"); @@ -5408,22 +5404,22 @@ public class PGraphicsOpenGL extends PGraphics { public PShader loadShader(String fragFilename, int kind) { PShader shader; - if (kind == FLAT_SHADER) { + if (kind == PShader.FLAT_SHADER) { shader = new PolyFlatShader(parent); shader.setVertexShader(defPolyFlatShaderVertURL); - } else if (kind == LIGHT_SHADER) { + } else if (kind == PShader.LIGHT_SHADER) { shader = new PolyLightShader(parent); shader.setVertexShader(defPolyLightShaderVertURL); - } else if (kind == TEXTURE_SHADER) { + } else if (kind == PShader.TEXTURE_SHADER) { shader = new PolyTexShader(parent); shader.setVertexShader(defPolyTexShaderVertURL); - } else if (kind == FULL_SHADER) { + } else if (kind == PShader.FULL_SHADER) { shader = new PolyFullShader(parent); shader.setVertexShader(defPolyFullShaderVertURL); - } else if (kind == LINE3D_SHADER) { + } else if (kind == PShader.LINE3D_SHADER) { shader = new LineShader(parent); shader.setVertexShader(defLineShaderVertURL); - } else if (kind == POINT3D_SHADER) { + } else if (kind == PShader.POINT3D_SHADER) { shader = new PointShader(parent); shader.setVertexShader(defPointShaderVertURL); } else { @@ -5437,17 +5433,17 @@ public class PGraphicsOpenGL extends PGraphics { public void setShader(PShader shader, int kind) { flush(); // Flushing geometry with a different shader. - if (kind == FLAT_SHADER) { + if (kind == PShader.FLAT_SHADER) { polyFlatShader = (PolyFlatShader) shader; - } else if (kind == LIGHT_SHADER) { + } else if (kind == PShader.LIGHT_SHADER) { polyLightShader = (PolyLightShader) shader; - } else if (kind == TEXTURE_SHADER) { + } else if (kind == PShader.TEXTURE_SHADER) { polyTexShader = (PolyTexShader) shader; - } else if (kind == FULL_SHADER) { + } else if (kind == PShader.FULL_SHADER) { polyFullShader = (PolyFullShader) shader; - } else if (kind == LINE3D_SHADER) { + } else if (kind == PShader.LINE3D_SHADER) { lineShader = (LineShader) shader; - } else if (kind == POINT3D_SHADER) { + } else if (kind == PShader.POINT3D_SHADER) { pointShader = (PointShader) shader; } else { PGraphics.showWarning("Wrong shader type"); @@ -5457,32 +5453,32 @@ public class PGraphicsOpenGL extends PGraphics { public void defaultShader(int kind) { flush(); // Flushing geometry with a different shader. - if (kind == FLAT_SHADER) { + if (kind == PShader.FLAT_SHADER) { if (defPolyFlatShader == null || defPolyFlatShader.contextIsOutdated()) { defPolyFlatShader = new PolyFlatShader(parent, defPolyFlatShaderVertURL, defPolyNoTexShaderFragURL); } polyFlatShader = defPolyFlatShader; - } else if (kind == LIGHT_SHADER) { + } else if (kind == PShader.LIGHT_SHADER) { if (defPolyLightShader == null || defPolyLightShader.contextIsOutdated()) { defPolyLightShader = new PolyLightShader(parent, defPolyLightShaderVertURL, defPolyNoTexShaderFragURL); } polyLightShader = defPolyLightShader; - } else if (kind == TEXTURE_SHADER) { + } else if (kind == PShader.TEXTURE_SHADER) { if (defPolyTexShader == null || defPolyTexShader.contextIsOutdated()) { defPolyTexShader = new PolyTexShader(parent, defPolyTexShaderVertURL, defPolyTexShaderFragURL); } polyTexShader = defPolyTexShader; - } else if (kind == FULL_SHADER) { + } else if (kind == PShader.FULL_SHADER) { if (defPolyFullShader == null || defPolyFullShader.contextIsOutdated()) { defPolyFullShader = new PolyFullShader(parent, defPolyFullShaderVertURL, defPolyTexShaderFragURL); } polyFullShader = defPolyFullShader; - } else if (kind == LINE3D_SHADER) { + } else if (kind == PShader.LINE3D_SHADER) { if (defLineShader == null || defLineShader.contextIsOutdated()) { defLineShader = new LineShader(parent, defLineShaderVertURL, defLineShaderFragURL); } lineShader = defLineShader; - } else if (kind == POINT3D_SHADER) { + } else if (kind == PShader.POINT3D_SHADER) { if (defPointShader == null || defPointShader.contextIsOutdated()) { defPointShader = new PointShader(parent, defPointShaderVertURL, defPointShaderFragURL); } diff --git a/java/libraries/opengl/src/processing/opengl/PShader.java b/java/libraries/opengl/src/processing/opengl/PShader.java index 42c951eba..fdb9e6ed0 100644 --- a/java/libraries/opengl/src/processing/opengl/PShader.java +++ b/java/libraries/opengl/src/processing/opengl/PShader.java @@ -33,6 +33,14 @@ import java.net.URL; * (http://www.hardcorepawn.com/) */ public class PShader { + // shaders constants + static public final int FLAT_SHADER = 0; + static public final int LIGHT_SHADER = 1; + static public final int TEXTURE_SHADER = 2; + static public final int FULL_SHADER = 3; + static public final int LINE3D_SHADER = 4; + static public final int POINT3D_SHADER = 5; + protected PApplet parent; protected PGraphicsOpenGL pg; protected PGL pgl; diff --git a/java/libraries/opengl/src/processing/opengl/Texture.java b/java/libraries/opengl/src/processing/opengl/Texture.java index 460ae16e0..e49a86293 100644 --- a/java/libraries/opengl/src/processing/opengl/Texture.java +++ b/java/libraries/opengl/src/processing/opengl/Texture.java @@ -41,6 +41,8 @@ import java.util.NoSuchElementException; public class Texture implements PConstants { public int width, height; + // texture constants + /** * This constant identifies the texture target GL_TEXTURE_2D, that is, * textures with normalized coordinates @@ -71,7 +73,6 @@ public class Texture implements PConstants { public static final int CLAMP = 0; /** This constant identifies the repeat wrapping mode */ public static final int REPEAT = 1; - protected PApplet parent; // The Processing applet protected PGraphicsOpenGL pg; // The main renderer