Skip to content

nemeott/ray-tracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 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

No packages published