Commit Graph

  • 5c92606f99 fix preview of final scene main jbb01 2024-08-29 08:49:58 +02:00
  • 32b27e2225 improve performance by precomputing parts of the AABB intersection algorithm feature/spectral jbb01 2024-08-18 14:21:28 +02:00
  • 871c837c34 add RandomGenerator parameter to Hittable#hit jbb01 2024-08-13 11:20:19 +02:00
  • 9b72909d27 add command line option for number of spectral samples jbb01 2024-08-13 10:16:47 +02:00
  • 533461204a properly implement transfer functions and apply them to the output image jbb01 2024-08-12 13:13:39 +02:00
  • b8aae8c2e5 rework interface between materials and rgb colors jbb01 2024-08-12 11:45:59 +02:00
  • 9eb8afcb59 fix RGBUnboundedSpectrum jbb01 2024-08-12 10:46:37 +02:00
  • 75c56c0032 move packages jbb01 2024-08-12 10:34:58 +02:00
  • 903ab1409b add @Contract annotations to vector-like objects jbb01 2024-08-12 10:33:15 +02:00
  • 791ee606c4 fixup color framework jbb01 2024-08-12 10:26:59 +02:00
  • 00fbf4e4f1 adjust rendering pipeline for spectral rendering jbb01 2024-08-11 16:32:40 +02:00
  • ddc861138a align operators in Vec3, Color, ColorXYZ and SampledSpectrum jbb01 2024-08-10 15:13:02 +02:00
  • c9db3bf94b add color framework to prepare for spectral rendering jbb01 2024-08-09 14:42:45 +02:00
  • 23c7a550ec minor performance improvements jbb01 2024-08-08 22:46:31 +02:00
  • 6599c41b14 add a check to Vec3#unit to avoid unnecessary sqrt and division jbb01 2024-08-08 21:58:51 +02:00
  • 9e79333e1e add documentation jbb01 2024-08-08 21:48:43 +02:00
  • dbd3d5fc4b minor performance improvements jbb01 2024-08-08 21:16:11 +02:00
  • e2c9609e0e add Vec3#fma to improve performance jbb01 2024-08-08 21:10:38 +02:00
  • 89c4340821 make Vec3#random generate unit vectors by default jbb01 2024-08-08 21:06:49 +02:00
  • c0dccbbd0c add overloaded constructor to Box jbb01 2024-08-08 20:19:22 +02:00
  • ed9e50b8f2 allow multiple sampling targets in a scene jbb01 2024-08-08 20:10:05 +02:00
  • 6e35453932 improve documentation jbb01 2024-08-08 19:35:36 +02:00
  • 77c1a87e4f fix a possible cause of NaNs jbb01 2024-08-08 19:31:57 +02:00
  • cb4dcc53f1 fix a bug in PdfUtil#getSolidAngle jbb01 2024-08-08 19:31:20 +02:00
  • 940e8ebc37 improve debuggability jbb01 2024-08-08 19:30:32 +02:00
  • 2a2cf7b642 make renders (almost) deterministic jbb01 2024-08-08 19:29:43 +02:00
  • c4ee560dc9 add targeting probability density function jbb01 2024-08-08 17:14:07 +02:00
  • 6b47f44ad2 add probability density function based materials jbb01 2024-08-08 16:54:17 +02:00
  • 5f1e816edd add stratification to pixel sampling jbb01 2024-08-08 10:41:54 +02:00
  • a31488bc78 improve color averaging jbb01 2024-08-08 10:25:32 +02:00
  • 67bfafc5b8 fix corner bias in Vec3#random(random, true) jbb01 2024-08-08 10:22:26 +02:00
  • f7d9153ad8 add a material that looks different on both sides jbb01 2024-08-07 22:51:29 +02:00
  • a22b1cb238 allow boxes to have different materials on each side jbb01 2024-08-07 22:00:47 +02:00
  • c91baf9e0c add final scene to readme jbb01 2024-08-07 21:41:34 +02:00
  • a90a0db6d5 improve AABB hit test by adding a range check jbb01 2024-08-07 16:26:30 +02:00
  • 1b02f8a96d skip unnecessary UV calculations jbb01 2024-08-07 15:50:09 +02:00
  • 18c179f8e3 improve performance of boxes jbb01 2024-08-07 15:50:09 +02:00
  • 1d48a49987 refactor AABB intersection jbb01 2024-08-07 15:50:09 +02:00
  • 9b617a82a8 remove HittableOctree jbb01 2024-08-07 15:50:09 +02:00
  • dfe80011c9 add "final" scene jbb01 2024-08-07 15:50:09 +02:00
  • 37539a1906 add minor improvements to perlin noise performance jbb01 2024-08-07 15:50:09 +02:00
  • 70f2f38e96 add perlin noise texture jbb01 2024-08-07 15:50:09 +02:00
  • e6447fe684 add image texture jbb01 2024-08-07 15:50:09 +02:00
  • 7c0bc68ab2 add texture support jbb01 2024-08-07 15:50:09 +02:00
  • 2c28b10a6e small performance improvements jbb01 2024-08-07 07:40:28 +02:00
  • d5173c2d5a add spheres to readme jbb01 2024-08-06 18:20:56 +02:00
  • 48a591de7e fix length of IDAT chunk jbb01 2024-08-06 17:39:09 +02:00
  • 9ebf8bd1c4 use a more performant RandomGenerator jbb01 2024-08-06 16:17:06 +02:00
  • 9106ccf8b0 switch from octree to binary tree jbb01 2024-08-06 15:46:22 +02:00
  • 3a3949f518 disallow unbounded Hittables and refactor Octree jbb01 2024-08-06 13:45:33 +02:00
  • 414af5860b add color to DielectricMaterial jbb01 2024-08-06 11:16:14 +02:00
  • 9175377ac4 move examples to their own file jbb01 2024-08-06 11:15:56 +02:00
  • 96909002d7 fix checksum of IEND chunk jbb01 2024-08-06 00:43:34 +02:00
  • ac5a42e7bc add README.md jbb01 2024-08-06 00:17:03 +02:00
  • e4e241a314 add command line argument parser jbb01 2024-08-05 23:36:08 +02:00
  • 360fb2c990 add constant density mediums jbb01 2024-08-05 18:35:10 +02:00
  • c002b8215a prevent StackOverflowError in SimpleRenderer jbb01 2024-08-05 16:40:53 +02:00
  • 580d8eca12 add transforms jbb01 2024-08-05 16:40:37 +02:00
  • 27e3fc0990 fix tests jbb01 2024-08-05 15:14:59 +02:00
  • ebbf711403 add cornell box jbb01 2024-08-05 15:13:17 +02:00
  • 3be855cffd add light sources jbb01 2024-08-05 15:11:32 +02:00
  • 36de714f46 refactor Scene jbb01 2024-08-05 15:11:12 +02:00
  • 8ea894cd3e fix live canvas clipping jbb01 2024-08-05 13:48:11 +02:00
  • b5acbd1b6c add 2d primitives jbb01 2024-08-05 13:47:18 +02:00
  • 86b6f1891c move material package jbb01 2024-08-05 13:01:03 +02:00
  • 7a5526f987 configure java version and main class in gradle jbb01 2024-08-05 12:59:41 +02:00
  • 137c0b2190 add octree to improve rendering performance by reducing the number of ray-sphere-intersection calculations jbb01 2024-08-04 23:57:54 +02:00
  • a84ed5c050 add bounding box to sphere jbb01 2024-08-04 23:54:35 +02:00
  • 8b7b99b184 add simple scene jbb01 2024-08-04 23:54:18 +02:00
  • 828c332e76 make scene deterministic jbb01 2024-08-04 23:53:46 +02:00
  • 07cdc0c213 remove Double#isFinite checks in Vec3 constructor jbb01 2024-08-04 19:54:21 +02:00
  • b47ded6c56 add iterative rendering mode for faster results jbb01 2024-08-04 19:15:44 +02:00
  • 0c6db707e0 separate camera from rendering jbb01 2024-08-04 19:04:25 +02:00
  • c17b9aedf5 add "final" scene jbb01 2024-08-04 18:04:51 +02:00
  • bb326e82a6 abstract Image and add support for watching the image as its being rendered jbb01 2024-08-04 01:28:12 +02:00
  • 1080711229 add depth of field jbb01 2024-08-04 00:18:03 +02:00
  • d89d15f1a4 add Camera.Builder jbb01 2024-08-03 22:58:13 +02:00
  • 94231f6a5b play with camera settings and fix handedness of camera jbb01 2024-08-03 22:36:52 +02:00
  • 82b38d4501 add total internal reflection jbb01 2024-08-03 22:16:53 +02:00
  • 088263b344 add dielectric material jbb01 2024-08-03 22:05:02 +02:00
  • ca769c56b2 add metal fuzz jbb01 2024-08-03 21:37:44 +02:00
  • a41b14da48 add metal jbb01 2024-08-03 21:28:43 +02:00
  • 2e5659a04a add custom Materials jbb01 2024-08-03 21:19:01 +02:00
  • 927f63adf0 add support for png images jbb01 2024-08-03 17:02:19 +02:00
  • cf0ed6f13f apply gamma correction jbb01 2024-08-03 03:00:11 +02:00
  • 0f122e2062 use Lambertian reflection jbb01 2024-08-03 02:56:24 +02:00
  • 8e77662b33 fix "shadow acne" jbb01 2024-08-03 02:54:15 +02:00
  • d2ca6922ef add diffuse material jbb01 2024-08-03 02:52:07 +02:00
  • 9d204f6aa4 add antialiasing jbb01 2024-08-03 02:42:15 +02:00
  • af3dc8dac7 refactor Camera jbb01 2024-08-03 02:29:16 +02:00
  • 672dc6af8b refactor Shape jbb01 2024-08-03 02:11:35 +02:00
  • 1113b91077 move render method to Camera jbb01 2024-08-03 02:08:28 +02:00
  • 7757b3d573 add Range to optimize Shape#hit jbb01 2024-08-03 02:06:12 +02:00
  • 5e52db65d4 add another sphere jbb01 2024-08-03 01:53:48 +02:00
  • e3a8b08381 simplify Sphere#hit jbb01 2024-08-03 01:46:41 +02:00
  • 14fd1d73fc add shading according to normal vector jbb01 2024-08-03 01:44:27 +02:00
  • 590054a046 add sphere jbb01 2024-08-03 01:28:20 +02:00
  • 7875befa94 add camera, scene and skybox jbb01 2024-08-03 01:27:06 +02:00
  • 028d19b118 add math and image jbb01 2024-08-03 01:26:08 +02:00
  • 2d2f5090ea initial commit jbb01 2024-08-02 22:04:04 +02:00