added colored floor
This commit is contained in:
parent
95926f322b
commit
4be82de50c
BIN
display.cmi
BIN
display.cmi
Binary file not shown.
BIN
display.cmo
BIN
display.cmo
Binary file not shown.
21
display.ml
21
display.ml
|
@ -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) =
|
||||||
|
|
Loading…
Reference in New Issue