Merge pull request #751 from Jayd-Rubies/main

cool shader thingy
This commit is contained in:
slweeb 2024-08-06 11:47:52 -04:00 committed by GitHub
commit 792fc9e6de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 156 additions and 1 deletions

View File

@ -333,13 +333,14 @@
<tr><td>heatglow.js</td><td>Red glowing effect for hot metals</td><td>nousernamefound</td></tr>
<tr><td>invisible_dye.js</td><td>Adds elements like Dye and Spray Paint that take the color of the background</td><td>Alice</td></tr>
<tr><td>invisible_wall.js</td><td>Adds an element like Wall that takes the color of the background</td><td>Alice</td></tr>
<tr><td>lightmap.js</td><td>Makes light sources glow</td><td>RedBirdly</td></tr>
<tr><td>moreViews.js</td><td>Many new rendering modes</td><td>ggod</td></tr>
<tr><td>onecolor.js</td><td>Makes all placed pixels single-colored</td><td>nousernamefound</td></tr>
<tr><td>paint_event.js</td><td>Adds a random event that randomly paints a circle</td><td>Alice</td></tr>
<tr><td>rainbow_tests.js</td><td>Adds variants of the rainbow element with different maths</td><td>Alice</td></tr>
<tr><td>shader_by_jayd.js</td><td>Adds a glow around light elements</td><td>Jayd</td></tr>
<tr><td>Shroomboxels.js</td><td>A variant of acid_and_shapes.js that uses a different trigonometric function</td><td>Alice</td></tr>
<tr><td>singleColor.js</td><td>Makes all elements pick one color each time they're drawn</td><td>stefanblox</td></tr>
<tr><td>lightmap.js</td><td>Makes light sources glow</td><td>RedBirdly</td></tr>
<!----><tr><td class="modCat" colspan="3">Compilations</td></tr><!---->
<tr><td>a_mod_by_alice.js</td><td>A mod combining most of Alices mods, and some other things</td><td>Alice</td></tr>

154
mods/shader_by_jayd.js Normal file
View File

@ -0,0 +1,154 @@
elements.shader_test = {
color: "#FFFFFF",
category: "special",
renderer: function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,"#ffffff",x,y,1,0.25)
}
}
}
elements.fire.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.cold_fire.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.light.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 2);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.75)
}
}
elements.laser.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 2);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.75)
}
}
elements.plasma.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.5)
}
}
elements.electric.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 2);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.heat_ray.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.freeze_ray.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.flash.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.7)
}
}
elements.smoke.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 2);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.radiation.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 2);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
drawSquare(ctx,pixel.color,x,y,1,0.25)
}
}
elements.led_r.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
if (pixel.charge) {
drawSquare(ctx,pixel.color,x,y,1,0.5)
}
else {
drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
}
}
}
elements.led_g.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
if (pixel.charge) {
drawSquare(ctx,pixel.color,x,y,1,0.5)
}
else {
drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
}
}
}
elements.led_b.renderer = function(pixel,ctx) {
var circlec = circleCoords(pixel.x, pixel.y, 3);
for (var i = 0; i < circlec.length; i++){
var coord = circlec[i];
var x = coord.x;
var y = coord.y;
if (pixel.charge) {
drawSquare(ctx,pixel.color,x,y,1,0.5)
}
else {
drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
}
}
}