summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-04-13Use basic_viewport8b if antialiasing is not enabled.Keuin
2022-04-13Antialiasing. (not parallelized)Keuin
2022-04-13Simplify bias_ctx's constructor.Keuin
2022-04-13Generalize hitlist and basic_viewport. (HDR in the future)Keuin
2022-04-13Rename viewport to basic_viewport.Keuin
Extract interface viewport.
2022-04-12Refactor: move hitlist, object, sphere, viewport into single files.Keuin
Add bias_ctx for setting sub-pixel sampling bias.
2022-04-12Refactor: Separate hitlist out from viewport.Keuin
2022-04-12Bugfix: caption won't print if the image is too small.Keuin
2022-04-12Caption printing is configurable as a cli parameter.Keuin
2022-04-12Bugfix: object hit priority is incorrect.Keuin
Replace unique_ptr with shared_ptr.
2022-04-12Add range restriction support in object::hit.Keuin
2022-04-12Bugfix: output image is upside down.Keuin
2022-04-12Add the earth. (now we've found a bug)Keuin
2022-04-12Replace dot with mod2.Keuin
2022-04-12Add vec3::mod2.Keuin
2022-04-12Add comments.Keuin
2022-04-12Add bitmap::print for printing ASCII text.Keuin
2022-04-12Optimize sphere hit calculation.Keuin
2022-04-12Inline util methods.Keuin
2022-04-12Improve comments.Keuin
2022-04-12Make object::hit provides hit time t.Keuin
Visualize normal vector at hit point. Add pixel<T>::from_normalized(const vec3d&) for visualizing normal vector.
2022-04-12Add comments in class ray3.Keuin
2022-04-12Add DEBUG macro for future usage.Keuin
2022-04-12Bugfix: fixpoint on ray is calculated incorrectly, causing objects being ↵Keuin
stretched.
2022-04-12Add basic object hit rendering.Keuin
Add NOPRINT environ switch. Add demo sphere rendering.
2022-04-11Decouple viewport size and generated image size.Keuin
Use cli parameters to control simple_scanner.
2022-04-11Implement ray3, timer and a simple viewport scanner.Keuin
Fix bitmap wrong pixel sequence. Remove default constructor of bitmap. Add pixel mixture method.
2022-04-11Implement vec3::zero().Keuin
2022-04-11Fix vec.h multiple inclusion.Keuin
2022-04-11Implement vec3 scalar and vector product, product by a scalar, get unit ↵Keuin
vector and print to ostream. Fix wrong vec3 norm implementation.
2022-04-11Implement bitmap and PPM serialization (with a demo program).Keuin