mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 11:51:54 +01:00
cleanup shader constants, update examples
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user