Skip to content

Latest commit

 

History

History
55 lines (50 loc) · 1.87 KB

TODO.md

File metadata and controls

55 lines (50 loc) · 1.87 KB

TODO

Features

  • P1: Recursive refraction
  • P1: Depth of field
  • P1: Features from "Ray tracing in a weekend" series
    • Ray tracing in a weekend
    • Ray tracing: the next week
    • Ray tracing: the rest of your life
  • P1: Volumetrics
  • P1: Textures
  • P2: Add denoiser (https://github.com/OpenImageDenoise/oidn)
  • P3: Other camera types, like orthographic
  • P3: Disney BRDF
  • P3: GUI scene viewer (imgui?)
  • P2: Double precision support?
  • P3: Add model loading test

Scenes

Performance improvements

  • P0: GPU support?
  • P3: Adaptive sampling
  • P3: Bidirectional path tracing
  • P3: Include an end bound on ray intersections to avoid costly intersection tests that are further away than already-known intersections
  • P4: Metropolis light transport

Bugs

  • P1: Some parts of the lighting calculations don't take orientation into account (so lights illuminate things behind them)
  • P1: Roughness cannot be set to 0 (or 1?) without black results

DONE

  • Add surface area heuristic to BVH
  • Acceleration structure (BVH)
  • Traverse BVH children in an intelligent way, updating max_distance to avoid intersecting farther bounding boxes. Use the sign of the ray's direction vector for the coordinate axis along which the BVH node was split
  • Per-vertex normals
  • Area light source / stratified sampling
  • Antialiasing
  • Cornell box
  • Stanford dragon
  • Tone mapping of the output image (gamma correction?)
  • Golden testing framework
  • P0: Allow separate rendering of direct and bounce light
  • P1: Add multithreading support
  • P0: MIS
  • P1: Support for a common file format (obj, glTF, USD?)
  • P3: Allow configuration of random seed