Skip to content

Commit f403680

Browse files
committed
some more fixes for gradient #154
1 parent 4baee3a commit f403680

2 files changed

Lines changed: 35 additions & 9 deletions

File tree

content/examples_p5/Basics/Color/WaveGradient/WaveGradient.js

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,19 @@ var frequency = 0;
1212
var fillGap = 2.5;
1313
var c;
1414

15+
var gradient;
16+
1517
function setup() {
1618
var canvas = createCanvas(640, 360);
1719
pixelDensity(1);
1820
canvas.parent("p5container");
1921
background(200);
22+
gradient = createImage(width, height, RGB);
2023
noLoop();
2124
}
2225

2326
function draw() {
24-
//loadPixels();
27+
gradient.loadPixels();
2528
for (var i =- 75; i < height+75; i++){
2629
// Reset angle to 0, so waves stack properly
2730
angle = 0;
@@ -30,14 +33,37 @@ function draw() {
3033
for (var j = 0; j < width+75; j++){
3134
py = i + sin(radians(angle)) * amplitude;
3235
angle += frequency;
33-
c = color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
36+
// c = color(abs(py-i)*255/amplitude;, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
37+
var r = int(abs(py-i)*255/amplitude);
38+
var g = int(255-abs(py-i)*255/amplitude);
39+
var b = int(j*(255.0/(width+50)));
40+
3441
// Hack to fill gaps. Raise value of fillGap if you increase frequency
3542
for (var filler = 0; filler < fillGap; filler++){
36-
set(int(j-filler), int(py)-filler, c);
37-
set(int(j), int(py), c);
38-
set(int(j+filler), int(py)+filler, c);
43+
var x = int(j-filler);
44+
var y = int(py)-filler;
45+
46+
var index = (x + y * width)*4;
47+
gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
48+
49+
x = int(j);
50+
y = int(py);
51+
index = (x + y * width)*4;
52+
gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
53+
54+
x = int(j+filler);
55+
y = int(py)+filler;
56+
index = (x + y * width)*4;
57+
gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
58+
59+
//set(int(j-filler), int(py)-filler, c);
60+
//set(int(j), int(py), c);
61+
//set(int(j+filler), int(py)+filler, c);
3962
}
4063
}
4164
}
42-
updatePixels();
65+
gradient.updatePixels();
66+
image(gradient, 0, 0);
67+
noLoop();
68+
console.log('complete');
4369
}

content/examples_p5/testing.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<html>
22
<head>
3-
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.19/p5.min.js"></script>
4-
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.19/addons/p5.dom.min.js"></script>
5-
<script language="javascript" type="text/javascript" src="Topics/Vectors/BouncingBall/BouncingBall.js"></script>
3+
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/p5.min.js"></script>
4+
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/addons/p5.dom.min.js"></script>
5+
<script language="javascript" type="text/javascript" src="Basics/Color/WaveGradient/WaveGradient.js"></script>
66
<script type="text/javascript">
77

88
// function setup() {

0 commit comments

Comments
 (0)