summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-21Add final render scene.Keuin
2022-04-21Add default virtual destructor for material.Keuin
2022-04-21Make object holds a constant reference to its material.Keuin
2022-04-21Bugfix: vec3::refract assertion fails in complex scenarios. Use looser ↵Keuin
accuracy requirement.
2022-04-21Copy and move semantic of hitlist.Keuin
2022-04-21Add bokeh, aperture ad focus_dist.Keuin
2022-04-20Bugfix: image is upside down. render result is inconsistent with previous ↵Keuin
versions (introduced in commit bfc5e815), because scan range in y-axis is slightly different from before.
2022-04-20Add some assertions in basic_viewport, about camera positioning.Keuin
2022-04-20Add vec3::parallel and its test.Keuin
2022-04-20Bugfix: vec3::cross was implemented and tested incorrectly.Keuin
2022-04-20Add vup (vector up), which controls the rotation of a camera (viewport). If ↵Keuin
vup is set to {0, 1, 0} (y=1), the camera should behave exactly the same as in previous versions.
2022-04-20Add free-camera test scene (SCENE_FREECAM).Keuin
Make default camera used by legacy scenes are controlled by NO_DEFAULT_CAM.
2022-04-20Fix default camera parameters were modified accidentally.Keuin
2022-04-20Remove OVERRIDE_FOV. Add FOV test scene (SCENE_FOV).Keuin
2022-04-20Assert screen and image are of the same aspect in aa_viewport::aa_viewport ↵Keuin
and basic_viewport::basic_viewport.
2022-04-20sphere -> Sphere.Keuin
2022-04-20Add OVERRIDE_FOV for simply test FOV.Keuin
2022-04-20Reserve vector thread_pool::tasks to speed up task initializing.Keuin
2022-04-20Code refactor: make basic_viewport and aa_viewport no longer a child class. ↵Keuin
Move data into classes. Code refactor: make threading.h more specific, reducing redundant data copies in memory. Code refactor: make camera parameters more clear and well-defined in viewport.h, ready to extend camera flexibility.
2022-04-17Fix: rename object::material() to object::get_material. Make it compile on ↵Keuin
Debian 11 GCC.
2022-04-17Bugfix: wrong cmake config caused not compiling on debian 5.10.Keuin
2022-04-17Bugfix: replacing thread scheduler caused bias_ctx being initialized with a ↵Keuin
fixed seed (from the outer of the closure, using the root seed unexpectedly), which causes the antialiasing ineffective.
2022-04-17Configurable thread count.Keuin
2022-04-17Add note about LOG_TRACE.Keuin
2022-04-17Add README.md.Keuin
2022-04-17Remove redundant closure.Keuin
2022-04-17Calculate speed and display performance details. Do not allocate redundant ↵Keuin
image pixels.
2022-04-17Make timer support silent output and get duration.Keuin
2022-04-17New lock-free thread pool. Improve CPU utility with massive small tasks.Keuin
2022-04-16Make logging tense consistent.Keuin
2022-04-16Move trace logging to tracelog.h.Keuin
Pixel-wise, comprehensive, beautiful trace logging.
2022-04-16Add dielectric reflectiveness (using Schlick's Approximation).Keuin
2022-04-16Add vec3::range01_scalar.Keuin
2022-04-16Add dielectric material. (glass ball)Keuin
2022-04-16Add macro LOG_TRACE for logging ray-trace process to stderr.Keuin
2022-04-16Add object::is_on to check whether a point is on the object's surface.Keuin
2022-04-16Add vec3::refract<Enable_TIR>, vec3::valid, float-point validity assertion ↵Keuin
in vec3 operations, and tests.
2022-04-15Print notice if assertion is disabled.Keuin
2022-04-15Add fuzzy reflective material.Keuin
2022-04-15Smaller font size.Keuin
2022-04-15Add scene for reflective material.Keuin
2022-04-15Add move constructor for material_reflective, move convenient.Keuin
2022-04-15Bugfix: wrong assertion.Keuin
2022-04-15Move diffusive into material_diffusive. Add material_reflective.h.Keuin
2022-04-15Add missing header.Keuin
2022-04-15Include vec.h.Keuin
2022-04-15Rename material.cpp -> material_diffusive.cpp.Keuin
2022-04-15Make ray3::decay_ distinguishable between different color channels.Keuin
2022-04-15Fix vec3::reflect. Add tests for vec3::reflect and vec3::is_zero.Keuin
2022-04-15Remove unused macros.Keuin