 	vec3 col = vec3(0.0);
 
 	// Aurora (with some transformation)
-	float s = 0.1 * sin(time);
-	//float f = 0.3 + 0.4 * pnoise(vec2(5.0 * uv.x, 0.3 * time), 1);
-	float f = 0.15 * pnoise(vec2(5.0 * uv.x, 0.3 * time), 1);
+	float f = 0.15 * pnoise1(vec2(5.0 * uv.x, 0.3 * time));
 	vec2 aco = co;
 	aco.y -= f;  // This affects height of rendering
 	// aco *= 10.0 * uv.x + 5.0;
 	aco *= 10.0 * uv.x + 20.0;
 	col += 0.5 * lights(aco)
-			* (smoothstep(0.3, 0.6, pnoise(vec2(10.0 * uv.x, 0.3 * time), 1))
+			* (smoothstep(0.3, 0.6, pnoise1(vec2(10.0 * uv.x, 0.3 * time)))
 					+ 0.5
 							* smoothstep(0.5, 0.7,
-									pnoise(vec2(10.0 * uv.x, time), 1)));
+									pnoise1(vec2(10.0 * uv.x, time))));
 
 	// Need to tweak the alpha at the edges so they fade rather than end
 	// abruptly at the edge of the quad.  Because of how the alpha channel

	return mix(s1, s2, fpos.y);
}

float pnoise(vec2 co, int oct) {
	float total = 0.0;
	float m = 0.0;

	for (int i = 0; i < oct; i++) {
		float freq = pow(2.0, float(i));
		float amp = pow(0.5, float(i));

		total += noise(freq * co) * amp;
		m += amp;
	}

	return total / m;
}

// FBM: repeatedly apply Perlin noise to position

			* smoothstep(0.0, 0.3, 1.1 + d - co.y);

	// Blue (bottom)
	h = pnoise1(vec2(5.0 * co.x, 5.0 * time));
	hc = bottomColor.xyz * pow(h + 0.1, 2.0)
			* smoothstep(-2.0 * d, 0.0, co.y + 0.2)
			* smoothstep(-h, 0.0, -co.y - 0.4);
