 			other.type = suf.high_type;
 			other.tex_coord = suf.tex_coord;
 			//other.is_shadowed = suf.is_shadowed;
-			frag_color += c_ReflectionPower * evaluate_color(other, 0.8);
+			//frag_color += c_ReflectionPower * evaluate_color(other, 0.8);
 		}
 	}
 	Target0 = frag_color;

	bool high, int num_forward, int num_binary
) {
	vec3 step = (1.0 / float(num_forward + 1)) * (b - a);
	Surface result;

	for (int i = 0; i < num_forward; ++i) {
		vec3 c = a + step;
		Surface suf = get_surface(c.xy);

		float height = mix(suf.low_alt, suf.high_alt, high);
		if (c.z < height) {
			result = suf;
			b = c;
			break;
		} else {

		}
	}

	Surface result = get_surface(b.xy);

	for (int i = 0; i < num_binary; ++i) {
		vec3 c = mix(a, b, 0.5);
		Surface suf = get_surface(c.xy);

		float height = mix(suf.low_alt, suf.high_alt, high);
		if (c.z <= height) {
			b = c;
			result = suf;
		} else {
			a = c;
		}
