mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
Removing the group of OpenGL examples
This commit is contained in:
@@ -1,71 +0,0 @@
|
||||
// Bad-print shader. Adapted from rom Fluxus Shader Library:
|
||||
// http://www.pawfal.org/index.php?page=FluxusHardwareShaderLibrary
|
||||
|
||||
import controlP5.*;
|
||||
|
||||
ControlP5 controlP5;
|
||||
|
||||
PShader badPrint;
|
||||
|
||||
boolean enabled = true;
|
||||
float scaleR = 1.0, scaleG = 1.0, scaleB = 1.0;
|
||||
float offsetR = 0.2, offsetG = 0.2, offsetB = 0.2;
|
||||
float registerR = 0.2, registerG = 0.2, registerB = 0.2;
|
||||
float sizeR = 0.1, sizeG = 0.2, sizeB = 0.1;
|
||||
|
||||
public void setup() {
|
||||
size(800, 800, P3D);
|
||||
|
||||
noStroke();
|
||||
fill(204);
|
||||
|
||||
badPrint = loadShader("BadPrintFrag.glsl", "BadPrintVert.glsl");
|
||||
|
||||
sphereDetail(60);
|
||||
|
||||
controlP5 = new ControlP5(this);
|
||||
controlP5.addToggle("enabled").linebreak();
|
||||
controlP5.addSlider("scaleR", 0, 1);
|
||||
controlP5.addSlider("scaleG", 0, 1);
|
||||
controlP5.addSlider("scaleB", 0, 1).linebreak();
|
||||
controlP5.addSlider("offsetR", 0, 1);
|
||||
controlP5.addSlider("offsetG", 0, 1);
|
||||
controlP5.addSlider("offsetB", 0, 1).linebreak();
|
||||
controlP5.addSlider("registerR", 0, 1);
|
||||
controlP5.addSlider("registerG", 0, 1);
|
||||
controlP5.addSlider("registerB", 0, 1).linebreak();
|
||||
controlP5.addSlider("sizeR", 0, 1);
|
||||
controlP5.addSlider("sizeG", 0, 1);
|
||||
controlP5.addSlider("sizeB", 0, 1).linebreak();
|
||||
}
|
||||
|
||||
public void draw() {
|
||||
background(0);
|
||||
|
||||
if (enabled) {
|
||||
shader(badPrint);
|
||||
|
||||
badPrint.set("Scale", scaleR, scaleG, scaleB);
|
||||
badPrint.set("Offset", offsetR, offsetG, offsetB);
|
||||
badPrint.set("Register", registerR, registerG, registerB);
|
||||
badPrint.set("Size", sizeR, sizeG, sizeB);
|
||||
} else {
|
||||
resetShader();
|
||||
}
|
||||
|
||||
noStroke();
|
||||
pointLight(204, 204, 204, 1000, 1000, 1000);
|
||||
|
||||
pushMatrix();
|
||||
translate(width/2, height/2);
|
||||
rotateX(frameCount * 0.01);
|
||||
rotateY(frameCount * 0.01);
|
||||
sphere(200);
|
||||
popMatrix();
|
||||
|
||||
hint(DISABLE_DEPTH_TEST);
|
||||
noLights();
|
||||
resetShader();
|
||||
controlP5.draw();
|
||||
hint(ENABLE_DEPTH_TEST);
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
// Copyright (C) 2007 Dave Griffiths
|
||||
// Licence: GPLv2 (see COPYING)
|
||||
// Fluxus Shader Library
|
||||
// ---------------------
|
||||
// BadPrint NPR Shader
|
||||
// This shader tries to emulate the effect
|
||||
// of a bad printing process. Can be controlled
|
||||
// with different settings for RGB
|
||||
|
||||
#ifdef GL_ES
|
||||
precision mediump float;
|
||||
precision mediump int;
|
||||
#endif
|
||||
|
||||
uniform vec3 Scale;
|
||||
uniform vec3 Offset;
|
||||
uniform vec3 Register;
|
||||
uniform vec3 Size;
|
||||
|
||||
varying vec3 N;
|
||||
varying vec3 P;
|
||||
varying vec4 S;
|
||||
varying vec3 L;
|
||||
|
||||
void main() {
|
||||
vec3 l = normalize(L);
|
||||
vec3 n = normalize(N);
|
||||
vec2 p = S.xy;
|
||||
|
||||
vec2 sr = p * Size.r + Register.r;
|
||||
vec2 sg = p * Size.g + Register.g;
|
||||
vec2 sb = p * Size.b + Register.b;
|
||||
|
||||
float diffuse = dot(l,n);
|
||||
|
||||
float r = (sin(sr.x) + cos(sr.y)) * Scale.r + Offset.r + diffuse;
|
||||
float g = (sin(sg.x) + cos(sg.y)) * Scale.g + Offset.g + diffuse;
|
||||
float b = (sin(sb.x) + cos(sb.y)) * Scale.b + Offset.b + diffuse;
|
||||
|
||||
gl_FragColor = vec4(step(0.5, r), step(0.5, g), step(0.5, b), 1);
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
// Copyright (C) 2007 Dave Griffiths
|
||||
// Licence: GPLv2 (see COPYING)
|
||||
// Fluxus Shader Library
|
||||
// ---------------------
|
||||
// BadPrint NPR Shader
|
||||
// This shader tries to emulate the effect
|
||||
// of a bad printing process. Can be controlled
|
||||
// with different settings for RGB
|
||||
|
||||
uniform mat4 projectionMatrix;
|
||||
uniform mat4 projmodelviewMatrix;
|
||||
uniform mat3 normalMatrix;
|
||||
|
||||
uniform vec4 lightPosition[8];
|
||||
|
||||
attribute vec4 inVertex;
|
||||
attribute vec3 inNormal;
|
||||
|
||||
varying vec3 N;
|
||||
varying vec3 P;
|
||||
varying vec4 S;
|
||||
varying vec3 L;
|
||||
|
||||
void main() {
|
||||
N = normalize(normalMatrix * inNormal);
|
||||
P = inVertex.xyz;
|
||||
gl_Position = projmodelviewMatrix * inVertex;
|
||||
L = vec3(lightPosition[0] - gl_Position);
|
||||
S = projectionMatrix * gl_Position;
|
||||
}
|
||||
@@ -12,12 +12,13 @@ void setup() {
|
||||
size(640, 360, P2D);
|
||||
blur = loadShader("blur.glsl");
|
||||
stroke(255, 0, 0);
|
||||
rectMode(CENTER);
|
||||
}
|
||||
|
||||
void draw() {
|
||||
filter(blur);
|
||||
rect(mouseX, mouseY, 150, 150);
|
||||
line(mouseX, mouseY, mouseX+150, mouseY+150);
|
||||
ellipse(mouseX, mouseY, 100, 100);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Fish Eye
|
||||
*
|
||||
* This fish-eye shader is useful for dome projection
|
||||
* This fish-eye shader is useful for dome projection.
|
||||
*/
|
||||
|
||||
PShader fisheye;
|
||||
|
||||
@@ -15,7 +15,7 @@ void setup() {
|
||||
maskImage.noSmooth();
|
||||
maskShader = loadShader("mask.glsl");
|
||||
maskShader.set("maskSampler", maskImage);
|
||||
background(0);
|
||||
background(255);
|
||||
}
|
||||
|
||||
void draw() {
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
// Draws a triangle using low-level OpenGL calls.
|
||||
import java.nio.*;
|
||||
|
||||
PGraphicsOpenGL pg;
|
||||
PGL pgl;
|
||||
|
||||
PShader flatShader;
|
||||
|
||||
int vertLoc;
|
||||
@@ -18,8 +16,6 @@ FloatBuffer colorData;
|
||||
void setup() {
|
||||
size(640, 360, P3D);
|
||||
|
||||
pg = (PGraphicsOpenGL)g;
|
||||
|
||||
// Loads a shader to render geometry w/out
|
||||
// textures and lights.
|
||||
flatShader = loadShader("frag.glsl", "vert.glsl");
|
||||
@@ -36,11 +32,11 @@ void draw() {
|
||||
|
||||
// The geometric transformations will be automatically passed
|
||||
// to the shader.
|
||||
rotate(frameCount * 0.01f, width, height, 0);
|
||||
rotate(frameCount * 0.01, width, height, 0);
|
||||
|
||||
updateGeometry();
|
||||
|
||||
pgl = pg.beginPGL();
|
||||
pgl = beginPGL();
|
||||
flatShader.bind();
|
||||
|
||||
vertLoc = pgl.getAttribLocation(flatShader.glProgram, "inVertex");
|
||||
@@ -58,7 +54,8 @@ void draw() {
|
||||
pgl.disableVertexAttribArray(colorLoc);
|
||||
|
||||
flatShader.unbind();
|
||||
pg.endPGL();
|
||||
|
||||
endPGL();
|
||||
}
|
||||
|
||||
void updateGeometry() {
|
||||
|
||||
Reference in New Issue
Block a user