v0.6.2
Pre-release
Pre-release
New in this version:
- Deterministic renders. If you render an image twice with the same settings, the resulting image will match perfectly.
- Rendertime estimates are now computed on the main thread. Much more reliable, no more race conditions.
- Improved render status now shows completion percentage, average microseconds per ray, estimate until finished and samples per second. This status updates ~4 times a second.
- All memory leaks are fixed as of this release.
- Heaps of internal refactoring to ease future development.
- Added support for loading textures from the following formats: JPEG, BMP, TGA, PIC and PNM (f7106e1)
- Dramatically reduce KD-tree construction time. It no longer has an O(n^2) end condition (cb59980)
- Write render information to PNG tEXt chunks. (You can observe with imagemagic:
identify -verbose output/rendered_0000.png
) - Timers now use microsecond precision.
- Start implementing a new public API in src/c-ray.h. This is still very much WIP, but it is starting to look pretty good.
- Fix over a hundred warnings, we now build with
-Wextra
where applicable. - Reduce heap allocations where they were not needed.
- Fix bug where all normals everywhere were inverted, leading to some subtle bugs. (d78c862)
- Re-implement smooth shading.
- Add assertion macros, and assert in a few places where it makes sense.
- The scene loader now has a sane defaults system, so you can omit settings you don't care about.
- Meshes can now emit light. (0a26ea7)
- Meshes can now have roughness (9c9bc64)
- Meshes can now have normal maps (531ff80)
- You can now set focal length and aperture in camera preferences to have depth-of-field (00088d9)
- Disable -ffast-math, it was causing floating point errors that resulted in random white dots. (2380e7d)
- Fix the BMP encoder so it no longer has black lines.