Matthew Gordon
99cf127c9f
Change a bunch of generics that used with RealType to just use f64
2020-08-18 23:12:28 -04:00
Matthew Gordon
a98c0c4bca
Fix bug that shifted view one tile to the right
2020-08-18 22:05:14 -04:00
Matthew Gordon
c1d8044eb8
Add documentation for partial_render_scene()
2020-04-23 23:19:21 -04:00
Matthew Gordon
63afdfa36e
Make the camera module private and just re-export partial_render_scene()
2020-04-23 23:16:50 -04:00
Matthew Gordon
bbeb39ba5d
Replace unnecessary Arcs with Boxes.
2020-03-27 20:34:19 -04:00
Matthew Gordon
2b8794c884
Add recursion limit to ray tracing
2020-02-28 23:25:51 -05:00
Matthew Gordon
0574dff685
Threads pass back small images instead of sharing large image
2020-02-28 21:42:19 -05:00
Matthew Gordon
bdd05f3527
Refactor main rendering loop to use TileIterator
...
This removes the old multithreading code, but will be using rayon
soon.
2020-02-20 16:47:15 -05:00
Matthew Gordon
d6b5c87759
Create Real trait to replace nalgebra::RealField
...
Real inherits RealField, but I want to add more to it.
2020-02-10 16:52:09 -05:00
Matthew Gordon
e1de889d3a
Quick-and-dirty multithreading
...
Not the best multithreading scheme and needs error handling, but
it works.
2019-12-21 10:07:53 -05:00
Matthew Gordon
9eca3a4cfe
Replace Vector3 with Point3 where appropriate
2019-12-07 11:09:07 -05:00
Matthew Gordon
d19d5200b0
Add another light to test scene, to fill shadows in a little
2019-11-29 22:30:31 -05:00
Matthew Gordon
0a7963097c
Add (co)tangent to IntersectionInfo and redid sphere intersection
2019-11-27 17:02:23 -05:00
Matthew Gordon
e7bcc9cc62
Add diffuse strength term to LambertianMaterial
2019-11-26 07:17:27 -05:00
Matthew Gordon
86ef364ed2
Render image a tile at a time, so user can see progress
2019-11-25 09:04:20 -05:00
Matthew Gordon
5a0646aaa2
Bias shadow rays to fix noise in image
2019-11-23 22:08:50 -05:00
Matthew Gordon
77cf877210
Factor out Sampler struct and add shadow casting
...
There are now bad rendering artifacts which I believe are caused
by precision issues.
2019-11-23 21:36:59 -05:00
Matthew Gordon
cefbc2873b
Refactor, adding Material trait that returns a BSDF
2019-11-23 20:53:45 -05:00
Matthew Gordon
f58afb2ded
Apply tone mapping to image, not colours
...
Apply tone mapping and conversion from floats to bytes only on
final image. This will allow better tone mapping operators later
and for now removes NormalizedAsFloat trait constraints that were
creeping through everything.
2019-11-19 21:32:47 -05:00
Matthew Gordon
f13b585bfe
Shapes can now be colours other than gray
2019-11-19 07:43:00 -05:00
Matthew Gordon
d2fb84191e
Add retro (towards camera) direction to IntersectionInfo
...
Not tested or used yet.
2019-11-13 17:47:40 -05:00
Matthew Gordon
700de75337
Reworked ray-sphere intersection which was failing tests
2019-11-13 17:25:57 -05:00
Matthew Gordon
d9af6dad94
Added Phong integrator (actually only computing lambertion yet)
2019-11-12 22:11:06 -05:00
Matthew Gordon
4f60719523
Correctly render multiple objects instead of just rendeing one
2019-11-12 17:25:10 -05:00
Matthew Gordon
2ec0c133a8
Fixed an unused variable warning
2019-11-12 16:47:29 -05:00
Matthew Gordon
95631d3708
Fixed some unused imports warnings
2019-11-12 16:46:58 -05:00
Matthew Gordon
1eb3741b7d
Render a basic scene
2019-11-12 08:03:29 -05:00
Matthew Gordon
e9900af986
Some cleanup and added unit test for pixel ray generation
2019-11-12 07:31:02 -05:00
Matthew Gordon
10c8992cf4
Fix bug where camera would iterate past bottom of image.
2019-11-11 16:48:40 -05:00
Matthew Gordon
326caf151a
Start camera module
2019-11-11 12:11:10 -05:00