Waterfall Pattern?

I just finished Virtual Fireplace project. I am using fire patterns designed by @zranger1 and @wizard on the 48x24 matrix behind tar black plastic. Everything looks very good and WAF is very high. But … I immediately got a request for Waterfall Pattern on the same matrix.
My questions are:

  • is it anything ready to try?
  • how hard is to create one? (Unfortunately I don’t even know which math is appropriate to begin with).

It will be really nice and helpful if someone can create something.

Flip y, speed it up, and change the colors maybe?

I don’t have a waterfall pattern for Pixelblaze yet – need to think about it a little. But I agree with @wizard. Turning a good fire pattern upside down, changing its colors and speeding it up would be a great place to start.

Here’s an illustration of how this approach can turn out. The first video is the software demo of a waterfall pattern I made for Titanic’s End. The second is the same waterfall layered on the actual car, doing a reasonable impression of a river of flame. (And this is all done with Perlin noise, same as @wizard’s “perlin fire” patterns.)

2 Likes

@zranger1 @wizard

Thank you very much for the ideas how to create a Waterfall pattern.
I just finished a second Virtual Torch project and will play with creating Waterfall pattern.

Here is a very simple waterfall pattern that might at least help you get started, and develop a better idea of what will look good on your display. (I’d be very happy for any feedback and improvements anyone wants to contribute! )

export var speed = 3;

setPerlinWrap(4,256,256);
translate(-0.5,-0.5)


export function sliderSpeed(v) {
  speed = mix(1,5,v)
}

timebase = 0
export function beforeRender(delta) {
  timebase = (timebase + delta/1000) % 3600;

  // noiseXTime sets up mirrored "swirling" effect across X axis
  noiseXTime = (-1 + 2 * triangle(timebase / 7)) * 3;
  
  // noiseYTime creates downward movement
  noiseYTime = timebase * speed;
}

export function render2D(index, x, y) {
  
  // generate noise field 
  v = 1-perlinTurbulence(x * 4,noiseYTime - y * 3,noiseXTime * (1-abs(x)),2.5,.325,3)
  v = clamp(v,0,1)

  hsv(0.66667 - (0.05*v),1-v/7,v * v * v * v);
}
1 Like

Thank you very much for this very nice Waterfall Pattern.
It looks very nice “as is” (I am not sure, I can make it somewhat better) on the Fireplace Matrix as well as Virtual Torches. This new Waterfall Pattern was instantly approve by my wife. She requested to run Waterfall Pattern during the day time and switch to the Fire Pattern around Sunset on the Fireplace Matrix and both Torches. Thanks to yours very nice HE (Habitat Elevation) Driver this was a very easy task (already complete).

1 Like