Commit graph

224 commits

Author SHA1 Message Date
Antoine Martin ce37fcda52 library: render: bidirectional: use progress bar 2020-05-09 22:21:53 +02:00
Antoine Martin a50732b998 library: render: bidirectional: first draft 2020-05-09 22:21:53 +02:00
Antoine Martin d86b47f111 library: light: add luminance to Light trait 2020-05-09 22:21:48 +02:00
Bruno BELANYI 394a1ad43d pathtracer: examples: cornell box w/o material light 2020-05-09 22:21:48 +02:00
Bruno BELANYI 7567b93f9c library: render: take advantage of cosine-weighted 2020-05-09 16:31:39 +02:00
Antoine Martin 311b7cd03b library: light: add SampleLight trait and iterator 2020-05-09 14:04:20 +02:00
Antoine Martin c4557adce1 bidirectional: implement path building 2020-05-09 13:25:41 +02:00
Bruno BELANYI a774ecce47 library: light: spot_light: add sample_ray method 2020-05-09 13:25:41 +02:00
Bruno BELANYI cd871055ba library: light: point_light: add sample_ray method 2020-05-09 13:25:41 +02:00
Antoine Martin 7526e41938 project: justify every dependency 2020-05-09 13:08:37 +02:00
Antoine Martin ae3931e796 library: render: don't return infinite weight
hemisphere sampling previously could return infinite, producing NaNs
when later multiplying that weight by 0.
2020-05-09 02:10:05 +02:00
Antoine Martin dad5113724 scene: store number of intermediate steps 2020-05-08 12:51:25 +02:00
Antoine Martin e650655d73 rustfmt: remove requirement on version 2020-05-08 12:51:07 +02:00
Antoine Martin bcaaca2c9a examples: reduce cornell-box resolution to 1080 2020-05-08 12:49:17 +02:00
Antoine Martin 28df5d18a4 cargo: performance flags in release 2020-04-08 21:58:39 +02:00
Bruno BELANYI 1e7d0a2807 library: render: pathtracer: fix off-by-one exports 2020-04-08 20:24:15 +02:00
Antoine Martin faa1ef1fb8 library: render: pathtracer: avoid row allocation 2020-04-08 19:31:46 +02:00
Antoine Martin 00dae425d9 library: render: write passes in steps 2020-04-08 18:05:11 +02:00
Antoine Martin be1f400b34 library: render: pathtracer: sequential passes 2020-04-08 17:54:45 +02:00
Bruno BELANYI 2fe65e9bc6 examples: cornell-box: change FOV and positions
To make sure we see the entirety of the box, with a point-of-view which
is similar to the pictures that can be found online, the box has to be
farther away.

I also re-centered the point-light to have it beneath the lamp in the
middle of the ceiling.
2020-04-08 01:22:34 +02:00
Antoine Martin 9596bb3d00 library: render: pathtracer: simple progress 2020-04-07 23:54:28 +02:00
Antoine Martin 82dee9fde5 library: render: progress: fix refresh for pathtracing 2020-04-07 23:54:28 +02:00
Antoine Martin b89e01107d library: unnest scene module to please clippy
warning: module has the same name as its containing module
  --> pathtracer/src/scene/mod.rs:12:1
   |
12 | pub mod scene;
   | ^^^^^^^^^^^^^^
   |
   = note: `#[warn(clippy::module_inception)]` on by default
2020-04-07 23:01:56 +02:00
Antoine Martin f7780cb54e rustfmt: bump to latest version to please CI 2020-04-07 22:56:00 +02:00
Antoine Martin 3f2c7b40e8 library: render: pathtracer: draft parallelize 2020-04-07 22:53:21 +02:00
Antoine Martin c0c34fba7d library: scene: mesh: use unknown_param for Ke
tobj actually has an `unknown_param` map with everything that's not in
the official MTL spec, so let's use that instead of forking tobj
2020-04-07 22:53:21 +02:00
Antoine Martin 0c289ca482 library: scene: mesh: parse emitted light from MTL 2020-04-07 17:31:19 +02:00
Bruno BELANYI a10fd07f43 library: render: pathtracer: basic pathtracing 2020-04-06 15:40:34 +02:00
Bruno BELANYI ddebd55fcd library: render: utils: use Unit for vectors 2020-04-06 15:25:39 +02:00
Bruno BELANYI c1801a7a78 library: render: pathtracer: use map_or_else 2020-04-06 15:07:43 +02:00
Bruno BELANYI 482e6bea3f library: render: add basics for Pathtracer
This is simple ray-tracing, with a binary white-or-black color depending
on whether we hit an object or not.
2020-04-06 14:58:07 +02:00
Bruno BELANYI 6066fe00dc library: render: move progressbar creation to module 2020-04-02 00:13:43 +02:00
Bruno BELANYI 70a923cf26 library: render: move raytracer to own directory 2020-04-02 00:06:33 +02:00
Bruno BELANYI 4bb20e2f30 executable: add bidirectional renderer option 2020-04-02 00:03:43 +02:00
Bruno BELANYI c0fc885159 library: render: add #[allow(unused)] attributes 2020-04-02 00:02:11 +02:00
Bruno BELANYI fc2de38b1a library: render: split bidirectional pathtracer 2020-04-01 23:58:27 +02:00
Bruno BELANYI 96995e7ef1 library: core: light_properties: add emitted light 2020-04-01 23:43:01 +02:00
Bruno BELANYI 7eefd7b574 WIP: library: render: pathtracer: add build_path 2020-03-31 12:09:28 +02:00
Bruno BELANYI 6d0de72e57 WIP: library: render: pathtrace: add Path struct 2020-03-31 12:09:28 +02:00
Bruno BELANYI a200a839b6 examples: rename aliasing_limit to shot_rays 2020-03-31 12:09:28 +02:00
Bruno BELANYI d4345e6ea4 library: scene: rename aliasing_limit to shot_rays 2020-03-31 12:09:28 +02:00
Bruno BELANYI e68ceb484d executable: use dummy pahtracer renderer 2020-03-31 12:09:09 +02:00
Bruno BELANYI b624ced37f library: render: pathtrace: add dummy Pathtracer 2020-03-30 02:25:58 +02:00
Bruno BELANYI 9c6b9af31a library: render: add Renderer trait 2020-03-29 21:28:06 +02:00
Bruno BELANYI 83ed6406ac executable: allow the choice of renderer 2020-03-29 21:28:06 +02:00
Bruno BELANYI 5ebad7c1ab pathtracer: move rendering logic to 'render' module 2020-03-29 20:41:19 +02:00
Bruno BELANYI ad668251d4 beevee: bvh: accelerated: add missing link to BVH 2020-03-29 20:20:01 +02:00
Bruno BELANYI a59bd026bc library: rename 'render' module to 'scene' 2020-03-29 20:15:27 +02:00
Bruno BELANYI aa47b54e4c examples: move OBJ-related files to subdirectory 2020-03-29 19:44:12 +02:00
Bruno BELANYI 4593e276c4 library: core: camera: fix documentation phrasing 2020-03-29 19:36:51 +02:00