Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 2.6 KB

todo.org

File metadata and controls

79 lines (55 loc) · 2.6 KB

Backlog

Miscellaneous [2/3]

Investigate clang optimization report

-fsave-optimization-record

Integrators [1/1]

Materials [0/3]

Thin-film [0/2]

Cloth material

Investigate dedicated cloth material with alternative BRDF (e.g. Ashikhmin, or Hanrahan-Krueger)

Separate samplers

Consider adding support for separate samplers per different textures in a single material. E.g nearest neighbor filter for albedo color and bilinear for normal map.

Renderer [1/1]

Deterministic random numbers

Currently (some) random numbers are seeded per worker. This leads to indeterministic behavior as the workers render varying parts of the frame per run. For a deterministic result the seed should always be the same per pixel/tile in any run. Of course, this should have no impact on the converged result and only affect noise.

Postprocessors [0/1]

Glare filter [1/3]

Implement in Fourier domain to increase performance

  • [X] Use normal DFT to transform to Fourier domain and back
  • [ ] Investigate decreased quality, lattice like artifacts
  • [ ] Use FFT to improve performance

Shapes [0/2]

Adding/improving analytical shapes [1/2]

  • [X] Canopy/Half-sphere
    • [X] Intersection
    • [X] UV sampling (works all of a sudden?)
  • [ ] Cylinder

Consider visibility settings per part

Resources [0/1]

Faster file loading [1/3]

  • [X] Consider concurrent loading during lengthy processing steps (e.g. building BVH)
  • [-] Consider embedding json and binary data in single file
    • [X] Proof of concept
    • [ ] Support different vertex layouts
  • [ ] Investigate performance of std::stream vs. fread() etc.

There is a very simple mechanism for asynchronous BVH construction now. It seems to work reasonably well in cases where BVH construction is followed by lengthy reads from disk. A typical example is when texture data is being loaded during BVH construction.

Proof of concept for binary files showed good improvements in loading time. File size on disk generally seems to be higher, though (somewhat surprisingly for me).

Build system [0/1]

Investigate more Travis CI usage

Scene [0/1]

Faster scene update [0/2]

Investigate opportunities to parallelize some parts of scene update

  • [-] Calculation of distribution LUTs for light sources
    • [X] Image
    • [ ] Mesh
  • [ ] Updating of entity transformations

The results are disappointing so far (e.g. less than 2x speedup for 12 threads).