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
088263b344
add dielectric material
2024-08-03 22:05:02 +02:00
ca769c56b2
add metal fuzz
2024-08-03 21:42:18 +02:00
a41b14da48
add metal
2024-08-03 21:30:22 +02:00
2e5659a04a
add custom Materials
2024-08-03 21:19:01 +02:00
927f63adf0
add support for png images
2024-08-03 17:02:19 +02:00
cf0ed6f13f
apply gamma correction
2024-08-03 03:00:11 +02:00
0f122e2062
use Lambertian reflection
2024-08-03 02:56:24 +02:00
8e77662b33
fix "shadow acne"
2024-08-03 02:54:15 +02:00
d2ca6922ef
add diffuse material
2024-08-03 02:52:07 +02:00
9d204f6aa4
add antialiasing
2024-08-03 02:42:15 +02:00
af3dc8dac7
refactor Camera
2024-08-03 02:36:21 +02:00
672dc6af8b
refactor Shape
2024-08-03 02:15:03 +02:00
1113b91077
move render method to Camera
2024-08-03 02:15:03 +02:00
7757b3d573
add Range to optimize Shape#hit
2024-08-03 02:15:02 +02:00
5e52db65d4
add another sphere
2024-08-03 01:53:48 +02:00
e3a8b08381
simplify Sphere#hit
2024-08-03 01:47:22 +02:00
14fd1d73fc
add shading according to normal vector
2024-08-03 01:46:27 +02:00
590054a046
add sphere
2024-08-03 01:37:56 +02:00
7875befa94
add camera, scene and skybox
2024-08-03 01:37:56 +02:00
028d19b118
add math and image
2024-08-03 01:26:08 +02:00
2d2f5090ea
initial commit
2024-08-02 22:04:04 +02:00