summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-04-15Fix indirect inclusion.Keuin
2022-04-15Fix bad inclusion cause code not compiling.Keuin
2022-04-15Code Refactor:Keuin
- Add material class. - Move diffuse routine into separate material classes.
2022-04-15Add vec3::is_zero and vec3::reflect. (not tested)Keuin
2022-04-14Make hitlist<T> no longer a generic class (but hitlist::color<T>(...) is now ↵Keuin
a generic member function).
2022-04-14Move decay accumulation to ray3<T>.Keuin
2022-04-14Implement Lambertian Reflection and Hemispherical Reflection.Keuin
2022-04-14Fix shadow acne problem.Keuin
2022-04-14Delete default constructor of random_uv_gen.Keuin
2022-04-14Add text_policy for bitmap::print, supporting auto newline.Keuin
2022-04-14Specialize pixel::gamma2 for small values.Keuin
2022-04-14Add gamma2 correction.Keuin
2022-04-14Remove viewport8b and basic_viewport8b.Keuin
2022-04-14Use flexible intermediate color depth when rendering.Keuin
Note: further debugging is needed. The output image quality won't be improved when using 16bit/32bit internal color depth.
2022-04-14Add pixel and bitmap color depth conversion.Keuin
2022-04-13Global diffuse lighting. (gamma not corrected)Keuin
Some operations on pixel<T>. Make ray3 support copy semantic. Fix vec3 operands does not filter out vec3-vec3 as parameters. random_uv_gen generating random unit vectors.
2022-04-13Threaded antialiasing.Keuin
2022-04-13Remove const qualifier to gain move semantic.Keuin