Skip to content

bschne/RaySharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RaySharp - Ray Tracing in C#

Implementation of Peter Shirley's raytracing tutorials in C#

Example Output

Chapters

The code after completing each chapter can be found in it's own commit.

Ray Tracing in One Weekend

Chapter Title Commit
1 Output an Image 5af3a98
2 The Vec3 Class 7c1d4f8
3 Rays, a Simple Camera, and Background 0c8f251
4 Adding a Sphere 5f4b4c3
5 Surface Normals and Multiple Objects f03a5ea
6 Antialiasing 94dd246
7 Diffuse Materials 6e3fa53
8 Metal 5e33dac
9 Dielectrics c615d8b
10 Positionable Camera b1e615d
11 Defocus Blur cf8b639
12 Where Next? 1eca2ed

Ray Tracing: The Next Week

Chapter Title Commit
1 Motion Blur 1e5ed40
2 Bounding Volume Hierarchies 736ddf4
3 Solid Textures 0e78d91
4 Perlin Noise 2b80f49
5 Image Texture Mapping 6669473
6 Rectangles and Lights a129b05
7 Instances 765c175
8 Volumes PENDING
9 A Scene Testing All New Features PENDING

Modifications

The example code from the tutorial has been modified as follows:

  • The implementation uses doubles instead of floats (to avoid unnecessary casts as the math operations provided by .NET Core mostly use doubles)
  • The line-by-line rendering of the output image is parallelized
  • The output goes to a JPG file instead of piping standard out to a PPM file
  • The rendering progress is shown on the console

Original Tutorial & Code

The author has made the PDFs of all tutorials available on a "pay what you want" basis (see original tweet) on google drive here: https://drive.google.com/drive/folders/14yayBb9XiL16lmuhbYhhvea8mKUUK77W

The author's original source code in C++ can be found on his github profile here: https://github.com/petershirley

About

Implementation of Peter Shirley's ray tracing tutorials in C#

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages