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
c91baf9e0c
add final scene to readme
2024-08-07 21:41:34 +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
d5173c2d5a
add spheres to readme
2024-08-06 18:20:56 +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
ac5a42e7bc
add README.md
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
27e3fc0990
fix tests
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
7a5526f987
configure java version and main class in gradle
2024-08-05 12:59:41 +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
0c6db707e0
separate camera from rendering
2024-08-04 19:04:25 +02:00
c17b9aedf5
add "final" scene
2024-08-04 18:54:31 +02:00
bb326e82a6
abstract Image and add support for watching the image as its being rendered
2024-08-04 17:43:54 +02:00
1080711229
add depth of field
2024-08-04 00:18:54 +02:00
d89d15f1a4
add Camera.Builder
2024-08-04 00:18:54 +02:00
94231f6a5b
play with camera settings and fix handedness of camera
2024-08-03 22:37:00 +02:00
82b38d4501
add total internal reflection
2024-08-03 22:16:53 +02:00