cleanup shader constants, update examples

This commit is contained in:
codeanticode
2012-06-04 02:03:36 +00:00
parent 4ee85f0e45
commit 38e86225dc
6 changed files with 55 additions and 50 deletions

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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