Commit Graph

72 Commits (main)

Author SHA1 Message Date
Brett c91c62faad Final Version 2022-12-13 17:36:01 -05:00
Brett 213ad18210 comments 2022-12-13 01:33:31 -05:00
Brett 0a82024f3e Many changes to the way objects are handled.
Random Seed is now a constexpr variable in the std.h file
objects are generated randomly using the seed at runtime.
gave up on opencl.
2022-12-12 15:47:56 -05:00
Brett 8f55948344 OpenCL works morish 2022-12-12 02:07:59 -05:00
Brett 4bfff448de OpenCL works 2022-12-10 14:25:09 -05:00
Brett 50714bfe52 Memory Conversion 2022-12-03 11:54:34 -05:00
Brett 373134a255 Document the OpenCL class 2022-12-03 00:39:12 -05:00
Brett 5b65167bd7 Added OpenMPI Support 2022-12-02 23:32:18 -05:00
Brett 0982101ec7 OpenCL is working now 2022-11-23 11:55:40 -05:00
Brett 74967c11b6 Bin packing 2022-11-22 00:26:23 -05:00
Brett d4a9d729a0 Fixed issues with textures. Now completely working.
Also fixed bug with segfaulting on exit
2022-11-21 13:39:01 -05:00
Brett cf75e66684 Texture issue is on UV generation but debug color pre clamp implies it's correct but not scaled? 2022-11-21 00:57:00 -05:00
Brett 763d57327f Added texture support. Currently broken.
There is something very wrong somewhere. More testing is needed.
2022-11-21 00:47:12 -05:00
Brett 410e9c29b0 OpenCL object 2022-11-20 17:32:53 -05:00
Brett 6133c698e3 Cleaned up shader compiler 2022-11-20 13:17:10 -05:00
Brett 5308cacd23 Added the ability to recusively load shader files
include statements are the only form of file chaining supported.
define statements can now be replaced at load time with global variable.
2022-11-20 13:07:45 -05:00
Brett 40ce59284c Triangle BVH currently broken.
Working on the debug ui for it but it is also broken
2022-11-19 12:54:45 -05:00
Brett 023e12073d Slight cleanup,
moved the raycasting itself into a function, since it shouldn't be changed and is effectively squential
2022-11-17 11:32:34 -05:00
Brett ade76d6cd1 OpenMP
Added basic OpenMP support to the engine
2022-11-17 11:24:49 -05:00
Brett aefeefc550 More Code cleanup + OpenMP/MPI
Working on adding OpenMP/MPI Support!
2022-11-17 10:52:00 -05:00
Brett 8961919bcc Working on triangle BVH 2022-11-17 00:37:33 -05:00
Brett 205946925b Slight Code refactor + misc changes
Objects in debug mode now are rendered based on their vao located in the world object.
(Meaning they will update positions / be added when you change / add objects to the world).
Cleaned up code, moved model related types from types.h to models.h.
	Ie triangle / face.
Added a tringualtedmodel to contain assembled triangles as to not carry around useless data
2022-11-17 00:31:26 -05:00
Brett 538edecc88 Updated Signals, now using a structure 2022-11-16 17:49:02 -05:00
Brett 7aea5ee8c4 BVH performance results in ods file 2022-11-16 17:34:17 -05:00
Brett e72fc15007 BVH now has a source file. 2022-11-16 16:15:08 -05:00
Brett 2ea273a4a3 BVH appears to be working now
Added multi-hit intersection.
A ray will now return all objects which it intersects with. It's slower then optimal but based on the console output
it appears to be still much faster than without a BVH. More testing is required.
2022-11-16 14:56:50 -05:00
Brett e0569f4f29 BVH now works as first hit 2022-11-16 14:17:41 -05:00
Brett 84b5f4f57b Correct issue in AABB algorithm 2022-11-16 13:46:07 -05:00
Brett 711ddeef17 BVH is not fixed 2022-11-15 21:51:49 -05:00
Brett d7ef170256 BVH works now?
AABB intersect equation was wrong. That's been fixed
Intersection algorithm has been overhauled.
TODO: Code review and cleanup
2022-11-15 20:08:31 -05:00
Brett c881b780ff Raytracer and Debug views now align 2022-11-15 16:23:37 -05:00
Brett 4c9e4b6787 Fixed BVH infinite recursion 2022-11-15 11:45:50 -05:00
Brett 17c7942405 Fixed AABB Sizing issue.
Fixed is a strong word. TODO: I have solved the problem by using isEmpty to tell when it's a fresh AABB
and just returing the passed AABB as the new expanded AABB. This feels lazy and I expect it'll cause issues in the future.
Plus it isn't truely correct and the context which uses it could just use the first obj AABB since there is only 1 object
2022-11-15 00:53:21 -05:00
Brett a28d49b132 Raytracing camera now losely follows the debug camera
Differences in Viewport size change how the scene is rendered but the position and rotation of the camera is close enough.
2022-11-14 20:44:49 -05:00
Brett bd34d6e6e7 Update git ignore 2022-11-13 14:16:07 -05:00
Brett 98e0efe28e BVH Debug Working + Input Bug Fix
Bounding Boxes are now drawn in debug mode. Some debugging is required as the box is slightly offset.
GLFW_REPEAT no longer causes keyReleased event.
2022-11-13 14:13:14 -05:00
Brett 57ede806b0 Cleaned up profiler storage, removed issue with double free.
Profilers are no longer required to be manually deleted. Swtiched to smart pointers for this one.
2022-11-13 13:10:58 -05:00
Brett 7a09800c40 BVH Cleanup / Changes.
Working on fixing issues with the BVH implementation.
Commiting a working changes version. Code has been cleaned up considerably.
A proper code review is nessacary in the near future.
2022-11-13 13:03:48 -05:00
Brett 9e533a86f6 Add ability to generate cube with the radius of individual axis.
VAO now takes in that generated cube alongside triangles.
2022-11-13 03:00:30 -05:00
Brett b486bd375f Fixed Issue with normals not loading
Forgot to add attribute 2 (which stores the normal) as enabled for vaos with normals
2022-11-13 02:25:40 -05:00
Brett 3ede43d3e0 Remove GLM 2022-11-13 02:15:12 -05:00
Brett d829b54cc0 Fixed View Matrix. Added input management. Debug view is now viewable.
Input management is not setup for X11, only GLFW.
Debug view still needs normals for basic lighting
GLM will be removed in the next commit
2022-11-13 02:00:27 -05:00
Brett 5e520e3849 Trying to fix the BVH. Investigate the depth check, seems like something is wrong with it. 2022-11-10 10:49:59 -05:00
Brett 926f6d1391 Fixed issue with GUI-less compliation failing
FIXME: Make class for all the GUI stuff so that way the main.cpp can be cleaned up
and less bugs like this occur.
2022-11-07 17:04:39 -05:00
Brett 1c11a1f9d9 Fixed issue with the projection matrix. View matrix is still a little iffy
Currently it appears that the view matrix is rotating the world
and look at pos view matrix is producing incorrect results. appears as if the height is inverted.
2022-11-07 00:29:12 -05:00
Brett d8bade25a2 Trying to fix issue with project / view matrix 2022-10-31 00:51:51 -04:00
Brett 1e8914b4a5 added ability to pause / stop / restart raytracing. 2022-10-28 15:05:08 -04:00
Brett 7b379f722d Live renderings is now working. 2022-10-28 12:46:32 -04:00
Brett 2597a160f8 Working on fixing GL 2022-10-28 01:44:23 -04:00
Brett 3c889f2742 iterativer 2022-10-25 01:06:26 -04:00