Commit Graph

  • c187161829 Convert to pthreads from OpenMP master metrics Zachary D. Rowitsch 2023-11-19 02:45:24 -05:00
  • 63b636da7c Beginning of metrics, working registry, counter and gauge Zachary D. Rowitsch 2023-10-21 20:38:55 -04:00
  • 26560effb0 Genericize lists, makes it easy to switch between linked list to array backed list Zachary D. Rowitsch 2023-10-08 00:24:33 -04:00
  • 8a74895b97 Default to building benchmarks Zachary D. Rowitsch 2023-10-08 00:21:37 -04:00
  • acb1982235 Refactor Fn_apply->UTILITIES_fn_apply Zachary D. Rowitsch 2023-10-07 19:55:56 -04:00
  • ebfa2ae325 Refactor/rename Sasprintf -> UTILITIES_sasprintf Zachary D. Rowitsch 2023-10-07 19:39:43 -04:00
  • 8ce1969891 Refactor RAY_Computations usage to eliminate some calls to malloc twistdroach 2023-10-03 23:35:45 -04:00
  • 227f5b14ba avoid condition is always true warning from gcc 13 twistdroach 2023-10-03 23:33:48 -04:00
  • e2c819261c Refactor functions with no arguments to make sure they have a prototype twistdroach 2023-10-02 20:05:58 -04:00
  • f160c13200 Update CMakeLists to put cmake_minimum_required first, update gitignore to ignore goofy mac desktop files twistdroach 2023-10-02 19:18:54 -04:00
  • 714b209a44 working python module swig twistdroach 2023-10-02 19:12:29 -04:00
  • 7d689629f4 Add cylinder, use nicer api in test twistdroach 2023-04-07 20:17:59 -04:00
  • 7df30bb043 make materials a little more friendly twistdroach 2023-03-14 05:17:04 -04:00
  • 01943072a1 move swig to its own module, somewhat useful interface twistdroach 2023-02-11 01:13:32 -05:00
  • c50f80df7b example tuple working twistdroach 2023-02-08 19:56:22 -05:00
  • 000ca37259 Prototype some benchmark runs twistdroach 2022-07-24 04:20:21 -04:00
  • 49469e06dd Fix wavefront obj normalization and do some (slightly) better error checking twistdroach 2022-07-24 04:19:45 -04:00
  • 508a77d2b0 Bump CExeption & Unity twistdroach 2022-07-24 04:18:32 -04:00
  • 7b27096227 Minor cleanup to make OpenMP work on MacOS (with gcc). Properly declare shape vtables & world default reflection ttl twistdroach 2022-07-08 01:29:30 -04:00
  • d22592a536 Bump CException and Unity versions Zachary D. Rowitsch 2021-12-22 16:00:23 -05:00
  • b9a22b7df9 Update CException and Unity twistdroach 2021-01-16 21:25:41 -05:00
  • c05ef0b5b0 Add some return NULLs in case a Throw happens outside of a Try block twistdroach 2021-01-16 21:21:27 -05:00
  • d8f21ed9b9 Add plane so we can render the shadow glamour shot Zachary D. Rowitsch 2020-12-20 19:09:52 -05:00
  • 3e7c55cabb Parse yaml with materials (but not patterns) Zachary D. Rowitsch 2020-12-20 18:56:00 -05:00
  • 9bb3cce492 Add collected yml files Zachary D. Rowitsch 2020-12-18 23:29:24 -05:00
  • 49a1b9372a Use a prime number for the number of random samples in sphere_spin Zachary D. Rowitsch 2020-12-18 23:11:34 -05:00
  • 905db5f871 Add sphere parsing twistdroach 2020-12-18 19:20:49 -05:00
  • 0ebfe8a9f2 Fix some memory leaks in yamlloader Zachary D. Rowitsch 2020-12-13 07:01:59 -05:00
  • a8f8d89503 Fix cmake config that was causing pattern unit tests not to run twistdroach 2020-12-12 19:17:14 -05:00
  • b1fa1e4805 check fread in slurp util twistdroach 2020-12-12 18:59:53 -05:00
  • 8cfee8f9de Need stdio in utilities.c twistdroach 2020-12-12 18:51:45 -05:00
  • 39d1dffa42 Fix failing yamlloader tests twistdroach 2020-12-12 18:45:17 -05:00
  • b44cb88eee Add newline at the bottom of test_group.c twistdroach 2020-12-12 18:40:50 -05:00
  • 9adba3c9e3 Rendering working from yaml file. Only cubes are supported & no material definitions yet either... twistdroach 2020-12-11 23:37:06 -05:00
  • 49aca245c4 Begin parsing yaml, can parse camera, lights. Need to add objects. Lots of cleanup & implementation to do Zachary D. Rowitsch 2020-12-04 22:55:25 -05:00
  • 24f56ea0e1 Stop using reallocarray for portability Zachary D. Rowitsch 2020-12-04 22:53:57 -05:00
  • 41f8d49cb5 Begin yaml implementation - parsing light definition seems to work Zachary D. Rowitsch 2020-11-24 23:00:58 -05:00
  • 3cccce32e6 minor cmake bug - debug mode should turn off openmp before we have already included it Zachary D. Rowitsch 2020-11-22 19:00:00 -05:00
  • f645c9d8fd Further NetBSD suppt Zachary D. Rowitsch 2020-11-13 16:21:03 -05:00
  • 93d4c98c64 NetBSD compat changes Zachary D. Rowitsch 2020-11-13 15:34:28 -05:00
  • 0ee822046b Add a blend pattern that maps to two individual patterns Zachary D. Rowitsch 2020-11-11 23:49:31 -05:00
  • d5ba13b2fe Minor updates in CMakeLists Zachary D. Rowitsch 2020-11-09 22:40:05 -05:00
  • 7a68107993 Create codeql-analysis.yml twistdroach 2020-11-06 19:30:54 -05:00
  • cd346df062 minor readme updates Zachary D. Rowitsch 2020-11-06 19:17:39 -05:00
  • 8de511279e Update readme to include texture map demo Zachary D. Rowitsch 2020-11-06 19:11:24 -05:00
  • ba03a54cde add a texture_mapping demo that uses a skybox Zachary D. Rowitsch 2020-11-05 21:53:47 -05:00
  • c9513278a1 Remove errant troubleshooting printf in uv_pattern.c Zachary D. Rowitsch 2020-11-05 21:52:22 -05:00
  • 6c95741c44 Add texture/image mapping Zachary D. Rowitsch 2020-11-05 05:46:35 -05:00
  • cb5f685802 Add ability to load a canvas from PPM Zachary D. Rowitsch 2020-11-03 22:47:40 -05:00
  • 1bffff54a3 Minor cleanup Zachary D. Rowitsch 2020-11-01 01:38:16 -05:00
  • 5e0ec8b785 Add cube mapping Zachary D. Rowitsch 2020-11-01 01:36:24 -04:00
  • 113248d3e5 Use old preview image for video, since new one is broken for some reason Zachary D. Rowitsch 2020-10-31 06:26:22 -04:00
  • d17052033c update youtube link to point to sphere_spin with shadow Zachary D. Rowitsch 2020-10-27 21:27:04 -04:00
  • f2a472fc90 clang formatted my test obj file! Zachary D. Rowitsch 2020-10-27 21:23:51 -04:00
  • c887cca377 update sphere_spin after refactor Zachary D. Rowitsch 2020-10-27 21:04:20 -04:00
  • 292704b5de Refactoring to prepare for uv_pattern polymorphism implementation Zachary D. Rowitsch 2020-10-27 21:01:45 -04:00
  • d0bb12c6c6 remove build-debug dir, didn't realized it was checked in Zachary D. Rowitsch 2020-10-25 21:13:42 -04:00
  • 2e71225068 more mapping funcs for 3d point -> 2d surface for different primitives. need to refactor pattern & uv_pattern. Zachary D. Rowitsch 2020-10-25 21:08:38 -04:00
  • ac4774eac1 Begin 2d mappings for future texture mapping support, sphere's only and likely need some refactoring Zachary D. Rowitsch 2020-10-25 18:51:14 -04:00
  • 1c0834c0ea Memory leak in RAY_delete_intersections - now that we preallocate xs, we shouldn't rely on the count to see if we need to free it Zachary D. Rowitsch 2020-10-24 23:35:00 -04:00
  • 75a2a8908b wildcard build directories in .gitignore Zachary D. Rowitsch 2020-10-24 18:40:17 -04:00
  • b86753e165 clang-format commit 4 Zachary D. Rowitsch 2020-10-23 23:41:36 -04:00
  • a30eb00271 clang-format commit 3 Zachary D. Rowitsch 2020-10-23 23:27:22 -04:00
  • 6eee5971b0 clang-format commit 2 Zachary D. Rowitsch 2020-10-23 23:24:44 -04:00
  • 61b5f7b1f7 Begin clang-format Zachary D. Rowitsch 2020-10-23 23:16:52 -04:00
  • 658373be99 Make using jemalloc a configurable option Zachary D. Rowitsch 2020-10-22 23:39:28 -04:00
  • f4bf8112ae Use jemalloc & grow RAY_Intersections *2 instead of +1 when it runs out of space Zachary D. Rowitsch 2020-10-22 23:26:36 -04:00
  • 9d3dc45883 Correct bad rebase commit - LIGHTS_AreaLights -> LIGHTS_Lights Zachary D. Rowitsch 2020-10-22 00:01:34 -04:00
  • fdeae659e7 Add frame timer to the sphere_spin demo Zachary D. Rowitsch 2020-10-21 23:57:55 -04:00
  • a34e4409d0 Add area lights to shading calculation, refactor pointlight to be simple case of arealight instead of it's own struct Zachary D. Rowitsch 2020-10-21 23:39:58 -04:00
  • c3d395eca8 sphere demo looks much better with more jitter points Zachary D. Rowitsch 2020-10-20 00:54:42 -04:00
  • 6f206723f0 Detect omp and ifdef out pragmas so we don't need to compile with -wno-unknown-pragmas, Instead of using locking for the sequence indexing, use a per-thread ndx Zachary D. Rowitsch 2020-10-20 00:29:22 -04:00
  • 3c57fc9cd6 Use area light in the sphere demo Zachary D. Rowitsch 2020-10-19 23:06:22 -04:00
  • fdab3c4bec Add simple random sequence and fix sequence critical section Zachary D. Rowitsch 2020-10-19 23:06:05 -04:00
  • 2ee621e5c5 Area lights now support sequences for jittering...need some sequence implementations though.... Zachary D. Rowitsch 2020-10-19 22:08:03 -04:00
  • f818689eee Woops - failed to initalize t in sphere_spin Zachary D. Rowitsch 2020-10-18 19:15:29 -04:00
  • 90927aa5a4 Finish adding area lights Zachary D. Rowitsch 2020-10-17 23:39:34 -04:00
  • 5ba216a4b4 Add simple spinning around a sphere Zachary D. Rowitsch 2020-10-17 23:36:47 -04:00
  • 6ed7ef5bc0 Ignore just the failing cone tests, not the entire set of cone tests Zachary D. Rowitsch 2020-10-17 18:42:42 -04:00
  • 18fdf844bc begin prepping for area lights & softer shadows Zachary D. Rowitsch 2020-10-14 23:38:35 -04:00
  • 48b4e3735f Add CSG divide method Zachary D. Rowitsch 2020-10-12 18:44:41 -04:00
  • 8f819c6ffc minor readme updates Zachary D. Rowitsch 2020-10-10 23:43:35 -04:00
  • c3cef0cf4e Add obj file normalizer to auto scale to unit cube and set at origin Zachary D. Rowitsch 2020-10-10 20:09:04 -04:00
  • a0242709ec Rename the global exception var to something else to satisfy the static analyzer :( Zachary D. Rowitsch 2020-10-10 09:49:11 -04:00
  • 8d645ca8d3 Move main dir -> demo Zachary D. Rowitsch 2020-10-10 09:44:50 -04:00
  • b891f310b9 add beast timing note Zachary D. Rowitsch 2020-10-09 22:49:28 -04:00
  • fcdb7cceb8 Use AVX2 intrinsics to speed up MATRIX_multiply_tuple, which seems to be heaviest hot spot at the moment Zachary D. Rowitsch 2020-10-09 22:15:36 -04:00
  • fd7b1612ee Add bounding volume hierarchies. Move groups to a linked list implementation instead of the array backed list (lots of removals with BVH calculation). Turn off OpenMP for Debug builds Zachary D. Rowitsch 2020-10-08 21:45:29 -04:00
  • 98fe9c79b2 Cache bounds computation for groups & CSG - makes huge perf difference (obviously) Zachary D. Rowitsch 2020-10-06 23:12:57 -04:00
  • 595c005fdc Add bounds checking using axis aligned bounding boxes Zachary D. Rowitsch 2020-10-06 22:53:14 -04:00
  • 34ca0eb36e Get cmake looking for openmp & simple parallelization of render loop Zachary D. Rowitsch 2020-10-02 00:06:27 -04:00
  • bc478d660a add Constructive Solid Geometry support Zachary D. Rowitsch 2020-10-04 20:26:09 -04:00
  • e3ecba7b84 pull raytracer stuff out of datastructures Zachary D. Rowitsch 2020-10-03 11:34:11 -04:00
  • fbfae1a2b4 minor const additions in camera.c Zachary D. Rowitsch 2020-10-03 11:21:26 -04:00
  • 6d87b1547e move pxl calc inside render loop (not likely important) Zachary D. Rowitsch 2020-10-02 00:05:23 -04:00
  • c8e64670ac Avoid some setjmp/longjmp clobbering errors that show up in the release build Zachary D. Rowitsch 2020-10-01 23:21:01 -04:00
  • 7c46be57c9 better obj file load error handling Zachary D. Rowitsch 2020-10-01 23:20:28 -04:00
  • 4a69604dae Minor doc of MATRIX_multiply_many syntax Zachary D. Rowitsch 2020-10-01 22:19:34 -04:00
  • 5efe296929 Simplify top level cmake config Zachary D. Rowitsch 2020-10-01 22:04:30 -04:00
  • 6aae07098e add cmake-build-* in .gitignore Zachary D. Rowitsch 2020-10-01 22:03:33 -04:00