added colored floor

This commit is contained in:
Alexandre 2024-07-01 22:28:01 +02:00
parent 95926f322b
commit 4be82de50c
4 changed files with 16 additions and 5 deletions

BIN
a.out

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -240,7 +240,7 @@ let draw_cube_p (cube : pt_3d array) screen_wd screen_ht fov r g b =
set_line_width 5; set_line_width 5;
for i = 0 to 5 do for i = 0 to 5 do
if draw_faces.(i) then begin if draw_faces.(i) then begin
let light = max (0.) (1. -. (distances.(i)) /. 7.5) in let light = max (0.) (1. -. (distances.(i)) /. 12.5) in
let face_R = int_of_float ((float_of_int r) *. light) let face_R = int_of_float ((float_of_int r) *. light)
and face_G = int_of_float ((float_of_int g) *. light) and face_G = int_of_float ((float_of_int g) *. light)
and face_B = int_of_float ((float_of_int b) *. light) in and face_B = int_of_float ((float_of_int b) *. light) in
@ -513,16 +513,16 @@ let chunkify laby sz =
let cubes = Hashtbl.create 300 in let cubes = Hashtbl.create 300 in
let add_to_table w h d cw ch cd = let add_to_table w h d cw ch cd r g b=
(*Printf.printf "(%d, %d, %d) (%d, %d, %d)\n" w h d cw ch cd;*) (*Printf.printf "(%d, %d, %d) (%d, %d, %d)\n" w h d cw ch cd;*)
match Hashtbl.find_opt cubes (cw, ch, cd) with match Hashtbl.find_opt cubes (cw, ch, cd) with
| None -> begin | None -> begin
let dyna = dyn_create {cube = create_cube (w*sz) (h*sz) (d*sz) sz; red = 220; green = 220; blue = 220} in let dyna = dyn_create {cube = create_cube (w*sz) (h*sz) (d*sz) sz; red = r; green = g; blue = b} in
Hashtbl.add cubes (cw, ch, cd) dyna Hashtbl.add cubes (cw, ch, cd) dyna
end end
| Some dyna -> begin | Some dyna -> begin
Hashtbl.remove cubes (cw, ch, cd); Hashtbl.remove cubes (cw, ch, cd);
dyn_append dyna {cube = create_cube (w*sz) (h*sz) (d*sz) sz; red = 220; green = 220; blue = 220}; dyn_append dyna {cube = create_cube (w*sz) (h*sz) (d*sz) sz; red = r; green = g; blue = b};
Hashtbl.add cubes (cw, ch, cd) dyna Hashtbl.add cubes (cw, ch, cd) dyna
end end
in in
@ -534,7 +534,7 @@ let chunkify laby sz =
for i = -chunk_dist to chunk_dist do for i = -chunk_dist to chunk_dist do
for j = -chunk_dist to chunk_dist do for j = -chunk_dist to chunk_dist do
for k = -chunk_dist to chunk_dist do for k = -chunk_dist to chunk_dist do
add_to_table w h d ((w*sz)/chunk_size + i) ((h*sz)/chunk_size + j) ((d*sz)/chunk_size + k) add_to_table w h d ((w*sz)/chunk_size + i) ((h*sz)/chunk_size + j) ((d*sz)/chunk_size + k) 220 220 220
done done
done done
done done
@ -543,6 +543,17 @@ let chunkify laby sz =
done done
done done
done; done;
for w = -10 to 10 do
for d = -10 to 10 do
for i = -chunk_dist to chunk_dist do
for j = -chunk_dist to chunk_dist do
for k = -chunk_dist to chunk_dist do
add_to_table w (-1) d ((w*sz)/chunk_size + i) (((-1)*sz)/chunk_size + j) ((d*sz)/chunk_size + k) 256 256 32
done
done
done
done
done ;
cubes ;; cubes ;;
let cheesify (laby : tile array array array) = let cheesify (laby : tile array array array) =