e2c9609e0e
add Vec3#fma to improve performance
2024-08-08 21:10:38 +02:00
89c4340821
make Vec3#random generate unit vectors by default
2024-08-08 21:06:49 +02:00
c0dccbbd0c
add overloaded constructor to Box
2024-08-08 20:19:22 +02:00
ed9e50b8f2
allow multiple sampling targets in a scene
2024-08-08 20:10:05 +02:00
6e35453932
improve documentation
2024-08-08 19:46:33 +02:00
77c1a87e4f
fix a possible cause of NaNs
2024-08-08 19:46:33 +02:00
cb4dcc53f1
fix a bug in PdfUtil#getSolidAngle
2024-08-08 19:46:33 +02:00
940e8ebc37
improve debuggability
2024-08-08 19:46:33 +02:00
2a2cf7b642
make renders (almost) deterministic
2024-08-08 19:29:43 +02:00
c4ee560dc9
add targeting probability density function
2024-08-08 18:23:18 +02:00
6b47f44ad2
add probability density function based materials
2024-08-08 16:54:17 +02:00
5f1e816edd
add stratification to pixel sampling
2024-08-08 11:02:01 +02:00
a31488bc78
improve color averaging
2024-08-08 10:25:32 +02:00
67bfafc5b8
fix corner bias in Vec3#random(random, true)
2024-08-08 10:22:26 +02:00
f7d9153ad8
add a material that looks different on both sides
2024-08-07 22:52:10 +02:00
a22b1cb238
allow boxes to have different materials on each side
2024-08-07 22:05:48 +02:00
a90a0db6d5
improve AABB hit test by adding a range check
2024-08-07 16:26:30 +02:00
1b02f8a96d
skip unnecessary UV calculations
2024-08-07 15:53:36 +02:00
18c179f8e3
improve performance of boxes
2024-08-07 15:53:36 +02:00
1d48a49987
refactor AABB intersection
2024-08-07 15:53:36 +02:00
9b617a82a8
remove HittableOctree
2024-08-07 15:53:36 +02:00
dfe80011c9
add "final" scene
2024-08-07 15:53:36 +02:00
37539a1906
add minor improvements to perlin noise performance
2024-08-07 15:53:36 +02:00
70f2f38e96
add perlin noise texture
2024-08-07 15:53:36 +02:00
e6447fe684
add image texture
2024-08-07 15:53:36 +02:00
7c0bc68ab2
add texture support
2024-08-07 15:53:36 +02:00
2c28b10a6e
small performance improvements
2024-08-07 07:40:28 +02:00
48a591de7e
fix length of IDAT chunk
2024-08-06 18:07:52 +02:00
9ebf8bd1c4
use a more performant RandomGenerator
2024-08-06 18:07:52 +02:00
9106ccf8b0
switch from octree to binary tree
2024-08-06 18:07:51 +02:00
3a3949f518
disallow unbounded Hittables and refactor Octree
2024-08-06 18:07:51 +02:00
414af5860b
add color to DielectricMaterial
2024-08-06 18:07:51 +02:00
9175377ac4
move examples to their own file
2024-08-06 18:07:51 +02:00
96909002d7
fix checksum of IEND chunk
2024-08-06 18:07:51 +02:00
e4e241a314
add command line argument parser
2024-08-06 00:10:43 +02:00
360fb2c990
add constant density mediums
2024-08-05 18:35:10 +02:00
c002b8215a
prevent StackOverflowError in SimpleRenderer
2024-08-05 17:54:04 +02:00
580d8eca12
add transforms
2024-08-05 16:42:21 +02:00
ebbf711403
add cornell box
2024-08-05 16:42:21 +02:00
3be855cffd
add light sources
2024-08-05 15:13:28 +02:00
36de714f46
refactor Scene
2024-08-05 15:13:28 +02:00
8ea894cd3e
fix live canvas clipping
2024-08-05 14:15:50 +02:00
b5acbd1b6c
add 2d primitives
2024-08-05 14:15:50 +02:00
86b6f1891c
move material package
2024-08-05 13:01:03 +02:00
137c0b2190
add octree to improve rendering performance by reducing the number of ray-sphere-intersection calculations
2024-08-05 12:35:31 +02:00
a84ed5c050
add bounding box to sphere
2024-08-04 23:54:35 +02:00
8b7b99b184
add simple scene
2024-08-04 23:54:18 +02:00
828c332e76
make scene deterministic
2024-08-04 23:53:46 +02:00
07cdc0c213
remove Double#isFinite checks in Vec3 constructor
...
A performance analysis showed, that the Double#isFinite checks in the Vec3 constructor add significant overhead without providing much value to the application.
2024-08-04 19:54:21 +02:00
b47ded6c56
add iterative rendering mode for faster results
...
In normal mode, the image is rendered one pixel at a time, taking multiple samples per pixel and averaging them before continuing with the next pixel.
In iterative mode, the image is rendered one sample at a time, taking one sample per pixel, then taking another sample and averaging it with the one before, and so on.
2024-08-04 19:15:44 +02:00