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
Bruno BELANYI
9ad1100ded
library: core: camera: move film behind the camera
...
To prepare for adding the handling of focal blur, move the film so that
it is behind the point of convergence of the lens.
In addition, store the distance to the focal plane in the camera, which
will be used when calculating rays with an non-zero aperture.
2020-03-29 19:36:51 +02:00
Bruno BELANYI
2f3224ea07
library: render: scene: calculate rays w/ camera
2020-03-29 19:36:51 +02:00
Bruno BELANYI
78d5954419
library: core: color: fix from_slice's doc-test
2020-03-29 19:36:16 +02:00