Skip to content

michaelrccurtis/nuance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuance

Nuance is a simple path tracer for nim. It is currently in development.

I built this to learn about both Nim and path tracing!

Features

  • Material support for glass, metal & lambertian materials
  • Primitive support for spheres, triangle meshes, cylinders and dics
  • Texture support, including images
  • Parallelised rendering pipeline
  • Scene definition via a .toml style file
  • Basic model support through .obj files
  • Simple bounding volume hierarchy for collision detection speed up

Usage

nuance is run as a CLI:

  nuance [REQUIRED,optional-params]

It supports a number of command line options:

Option Type Required? Default Effect
-s=, --scene-path= string Yes Path to the .nuance scene file
-r=, --resolution= int No 10 Resolution
--samples-per-pixel= int No 50 Samples per pixel
-t=, --threads= int No 10 Threads to use
-p=, --parallel-strategy= ps-samples, ps_x_blocks No ps-samples Select the strategy for parallelisation
--preview bool No false Whether to render a (very speedy) preview
--bvh bool No false Whether to turn on bounding volume hierarchy

Examples

Shape primitives Sun and Glass Globe reflection

Assets:

About

A path tracer for nim

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages