Skip to content

nemeott/ray-tracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray Tracing with Notcurses

A simple 3D ray tracing engine rendered in the terminal using Notcurses.

Demo

Description

This project implements a basic ray tracing algorithm to render 3D scenes in the terminal. It uses the Notcurses library for high-performance terminal graphics, allowing for interactive 3D visualization directly in the console.

Features

  • Real-time 3D rendering with ray tracing.
  • Interactive camera controls (keyboard and mouse).
  • Support for various 3D objects: spheres, planes (including checkerboard), and boxes.
  • Basic lighting model with diffuse and specular shading.
  • Terminal-based graphics using Notcurses.

Building

Clone the repository and use nix to build.

git clone https://github.com/nemeott/ray-tracing.git
cd ray-tracing

nix-build

This will create a result directory symlink containing the compiled binary.

Execution

Execute the compiled binary to start the simulation.

./result/bin/ray-tracing

Controls:

  • WASD: Move camera
  • Mouse/Arrow keys: Camera movement
  • Space/X: Move up/down
  • Q: Quit

License

MIT License.

About

Simple C++ ray-tracing engine using Notcurses

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors