FEATURING:
SOURCE CODE AND EXECUTABLES
SAMPLE OUTPUT:
![]() |
Started out with only the walls being rendered. The walls were a fixed height, the camera's center-of-projection was fixed to the center of the screen, and camera's height was fixed at halfway between the floor and the ceiling. The floors and ceilings were simply one solid color. No shading was implemented. However, this one is VERY fast. The rays are cast through only two-dimensions. |
![]() |
Implemented floor and ceiling texture mapping, thus adding a lot of computational overhead (just the floor or the ceiling takes twice about twice as long as the walls). This requires the rays to be cast in three dimensions (rays are projected through the remaining pixels leftover after wall casting). The walls are variable in height (makes the ceiling and floor rise and fall like a lift). |
![]() |
Added a camera with varying heights, Increased the speed of the floor and ceiling slightly (could be further improved quite easily, but care must be taken in order to properly align with the walls). |
![]() |
Added incremental depth-shading using a "best-fit" light intensity table and a depth-buffer. The user is able to vary the brightness of the light source and the ambient lighting. The more realistic textures were captured with a digital camera from a house and several walls in Marion, Massachusetts. |
![]() |
Scene with low ambient lighting and a high intensity light source. Notice that the camera height has been lowered and the center of projection has been raised (allows the user to look up and down by varying the center of projection). |
![]() |
Same scene with high ambient lighting, a raised camera height, and a lowered center of projection. |
![]() |
Camera height slightly raised and center of projection tilted downward to simulate a person's view down a hallway with low ambient lighting and a low intensity light source. |
![]() |
"Tricks" with the light intensity to create simulations of mist and fog by converging intensities to colors other than black (for shading). |
![]() |
Another example of the "mist" effect from a different camera angle. The amount of mist can easily be varies by changing the ambient lighting and light source intensity values. |