Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raytracer2 brainmade logo Rust

CPU raytracer

Introduction

Current Progress

"Hello World" gradient image generated. Images are saved automatically, logging goes to stdout.

hello world image

Background

In 2023 I started writing a simple CPU raytracer during the slower moments of my first parental leave. It was nice to have something intellectually stimulating to pick up and then be able to drop at a moment's notice to help with anything.

I was using Ray Tracing In One Weekend but sadly never got past making spheres.

3 years later I wanted to give it another attempt, but this time deliberately forego the use of LLM assistance in the IDE and terminal, even for fancy autocomplete. I use enough of that for work anyway! I firmly believe that my brain was built to struggle and that through struggle I multiply my understanding. I want to get better at Rust and I've always been fascinated with computer graphics ever since trying out Blender for the first time in 2004.

Stuff I want to accomplish this time

  • Rust stdlib only, no 3rd party crates
  • Finish book 1
  • Multithreading
  • SIMD
  • At least start on book 2
  • Triangles
  • Render a Cornell box scene
  • Stretch goal: file imports
  • Stretch goal: Stanford dragon scene

Why the Brainmade mark?

I believe in explicit disclosure regarding machine-generated code in both directions. If I have a machine generating my code, I have recently tried disclosing which ones in my git commits. If I have my brain generating the code, then I want to share my work with no ambiguity or doubt about its origins.

Technical

Requirements

  • Rust 1.97.1 or newer

Usage

cargo run

About

CPU raytracer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages