initial commit
commit
a5793c3f6f
@ -0,0 +1,89 @@
|
|||||||
|
let x1 = 30;
|
||||||
|
let y1 = 0;
|
||||||
|
let x4 = 480;
|
||||||
|
let y4 = 0;
|
||||||
|
let x2, y2, x3, y3;
|
||||||
|
|
||||||
|
let baseColor;
|
||||||
|
let highlightColor;
|
||||||
|
let shadowColor;
|
||||||
|
|
||||||
|
function setup() {
|
||||||
|
createCanvas(windowWidth, windowHeight);
|
||||||
|
angleMode(RADIANS);
|
||||||
|
noStroke();
|
||||||
|
|
||||||
|
baseColor = color(160, 82, 45, 80); // Translucent base color
|
||||||
|
highlightColor = color(255, 200, 100, 80); // Translucent highlight
|
||||||
|
shadowColor = color(100, 50, 20, 80); // Translucent shadow
|
||||||
|
}
|
||||||
|
|
||||||
|
function leaf(leafX, leafY, leafRotation, scaleFactor) {
|
||||||
|
push();
|
||||||
|
translate(leafX, leafY);
|
||||||
|
rotate(leafRotation);
|
||||||
|
scale(scaleFactor, 1);
|
||||||
|
|
||||||
|
x2 = 100 * sin(frameCount * 0.05) + 1;
|
||||||
|
y2 = 100 * cos(frameCount * 0.005) + 10;
|
||||||
|
x3 = 180 * sin(frameCount * 0.005) + 10;
|
||||||
|
y3 = 150 * cos(frameCount * 0.005) + 10;
|
||||||
|
|
||||||
|
// Use a blend mode to multiply the layers
|
||||||
|
blendMode(MULTIPLY);
|
||||||
|
|
||||||
|
// Draw multiple translucent layers for a blended effect
|
||||||
|
let numLayers = 5;
|
||||||
|
for (let i = 0; i < numLayers; i++) {
|
||||||
|
// Lerp between colors
|
||||||
|
let lerpedColor = lerpColor(highlightColor, shadowColor, i / numLayers);
|
||||||
|
fill(lerpedColor);
|
||||||
|
|
||||||
|
// Calculate a slight offset for each layer
|
||||||
|
let offset = i * 2; // Adjust the multiplier for the desired effect
|
||||||
|
|
||||||
|
beginShape();
|
||||||
|
curveVertex(x1, y1);
|
||||||
|
curveVertex(x1, y1);
|
||||||
|
curveVertex(x2 + offset, y2 + offset);
|
||||||
|
curveVertex(x3 + offset, y3 + offset);
|
||||||
|
curveVertex(x4, y4);
|
||||||
|
curveVertex(x4, y4);
|
||||||
|
endShape();
|
||||||
|
|
||||||
|
beginShape();
|
||||||
|
curveVertex(x1, y1);
|
||||||
|
curveVertex(x1, y1);
|
||||||
|
curveVertex(x2 + offset, -y2 - offset);
|
||||||
|
curveVertex(x3 + offset, -y3 - offset);
|
||||||
|
curveVertex(x4, y4);
|
||||||
|
curveVertex(x4, y4);
|
||||||
|
endShape();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset blend mode to default for other drawings
|
||||||
|
blendMode(BLEND);
|
||||||
|
|
||||||
|
pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw() {
|
||||||
|
bg();
|
||||||
|
|
||||||
|
leaf(200, 200, PI/2 * sin(frameCount * 0.005), 1);
|
||||||
|
leaf(500, 400, PI/4 * cos(frameCount * 0.005), -1);
|
||||||
|
leaf(100, 700, PI/2 * sin(frameCount * 0.005, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
function bg() {
|
||||||
|
c1 = color(10, 0, 255)
|
||||||
|
c2 = color(0, 100, 255, 0);
|
||||||
|
|
||||||
|
for (let y = 0; y < height; y++) {
|
||||||
|
n = map(y, 0, height, 0, 1);
|
||||||
|
let newc = lerpColor(c1, c2, n);
|
||||||
|
stroke(newc);
|
||||||
|
line(0, y, width, y);
|
||||||
|
}
|
||||||
|
noStroke(); // Disable stroke after drawing the background
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue