wip readme presentation
33
README.md
@@ -54,6 +54,39 @@ And change the map itself :
|
||||
# raycasting
|
||||
---
|
||||
|
||||
Raycasting is a technic that creates the illusion of 3D with very low computational power.
|
||||
|
||||
This technic has the hability to not show hidden area by design, which is a great simplification for rendering.
|
||||
|
||||
How it works :
|
||||
|
||||
1. first you determine the position and orientation of the viewer in a plan,
|
||||
|
||||

|
||||
|
||||
2. then you cast a ray until it reaches a wall
|
||||
|
||||

|
||||
|
||||
3. you can now trace the vertical line on the 3D view
|
||||
|
||||

|
||||
|
||||
4. the height of the wall is inversely proportional to the length of the ray : the closer the wall, the heigher it is
|
||||
|
||||

|
||||
|
||||
5. finally, if the rays scan the whole picture, you see the perspective appears
|
||||
|
||||

|
||||
|
||||
6. but you can also see that walls are rounded, like a fish eye effect. It's because rays change length while scanning the wall, so we must apply a correction to the angle
|
||||
|
||||

|
||||
|
||||
example of raycasting in action while construction of the project :
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
BIN
assets/cube3d_raycasting.gif
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
assets/cube3d_raycasting_construction_gif.xcf
Normal file
BIN
assets/cube3d_raycasting_explanation.gif
Normal file
|
After Width: | Height: | Size: 167 KiB |
BIN
assets/cube3d_raycasting_explanation.xcf
Normal file
BIN
assets/cube3d_raycasting_steps_construction.xcf
Normal file
BIN
assets/cube3d_raycasting_steps_gif.xcf
Normal file
BIN
assets/cube3d_raycasting_steps_gif_round.xcf
Normal file
BIN
assets/raycast_step1.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
assets/raycast_step2.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
assets/raycast_step3.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
assets/raycast_step4.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
assets/raycast_steps.gif
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
assets/raycast_steps_round.gif
Normal file
|
After Width: | Height: | Size: 91 KiB |
@@ -34,7 +34,7 @@
|
||||
/* size of a cell on the map */
|
||||
# define CELL 100
|
||||
// minimum time in milliseconds between two keypress
|
||||
# define DEBOUNCE_TIME 500
|
||||
# define DEBOUNCE_TIME 10
|
||||
|
||||
|
||||
/*
|
||||
|
||||