https://github.com/s-litvin/raycasting
Ray casting is the use of ray–surface intersection tests to solve a variety of problems in 3D computer graphics and computational geometry.
https://github.com/s-litvin/raycasting
algorithms dithering dithering-algorithms game-engine games graphics-programming javascript line-intersection p5js raycasting
Last synced: about 1 month ago
JSON representation
Ray casting is the use of ray–surface intersection tests to solve a variety of problems in 3D computer graphics and computational geometry.
- Host: GitHub
- URL: https://github.com/s-litvin/raycasting
- Owner: s-litvin
- Created: 2020-08-29T20:30:16.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-16T11:36:07.000Z (6 months ago)
- Last Synced: 2025-04-08T22:23:08.810Z (about 2 months ago)
- Topics: algorithms, dithering, dithering-algorithms, game-engine, games, graphics-programming, javascript, line-intersection, p5js, raycasting
- Language: JavaScript
- Homepage: https://s-litvin.github.io/raycasting/
- Size: 849 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raycasting
Ray casting is the most basic of many computer graphics rendering algorithms that use the geometric algorithm of ray tracing. Ray tracing-based rendering algorithms operate in image order to render three-dimensional scenes to two-dimensional images. Geometric rays are traced from the eye of the observer to sample the light (radiance) travelling toward the observer from the ray direction. The speed and simplicity of ray casting comes from computing the color of the light without recursively tracing additional rays that sample the radiance incident on the point that the ray hit. This eliminates the possibility of accurately rendering reflections, refractions, or the natural falloff of shadows; however all of these elements can be faked to a degree, by creative use of texture maps or other methods. The high speed of calculation made ray casting a handy rendering method in early real-time 3D video games.
For monochrome displays I added ordered dithering algorithm for rendering.
## Demo
Control the camera view with the keyboard arrow and the mouse.Check this demo on GitHub page: https://s-litvin.github.io/raycasting/

Or, you can enable 'Dither' effect for monochrome dislays:
© 2023