3817662b65Changed Y -> color change Added new screenshot
MitchellHansen
2016-11-04 23:36:57 -07:00
8c1f18ac70Software raycasting now works, but has some major problems / is extremely slow. Perhaps it will only be useful in debugging the kernel via emulation
MitchellHansen
2016-11-04 23:11:24 -07:00
b2988f0e13Would help if I added the files
MitchellHansen
2016-11-04 04:18:34 -07:00
5f24a4cf3fA good portion of the fallback software caster is done. Need to test, add global lighting, add switch
MitchellHansen
2016-11-04 04:16:03 -07:00
d1bd4ce667The new rendering method now works on the full compat case. Added a kernel to help test opencl data passing renamed the kernels, buffers, etc.
MitchellHansen
2016-11-04 03:28:23 -07:00
5528e03c69Saving minor tweaks
MitchellHansen
2016-11-02 15:58:15 -07:00
518cc757a3Lots of work done moving the various raycasting implementations over to a consolidated RayCaster class.
MitchellHansen
2016-11-02 00:09:32 -07:00
45627e6a85Whoops, forgot to save the files, same commit as before
MitchellHansen
2016-10-29 23:56:50 -07:00
51093beacaStarting to condense the rendering and switching between the different methods
MitchellHansen
2016-10-29 23:55:58 -07:00
ef4c001bf2Bug in the current crimson drivers (16.10.3) which incurs a 500kb per cycle memory leak when using printf statements inside cl kernels
MitchellHansen
2016-10-29 18:49:43 -07:00
561c07c602Turned off experimental phong lighting in the kernel fixed all compiler errors thrown by MSVC Switched experimental octree map back to the old map Refactored old map system, prettied it up
MitchellHansen
2016-10-29 00:42:49 -07:00
c734614e5fcleaned up an unused file, added check for sharingMitchellHansen2016-10-10 23:14:45 -07:00
de2f0ad6a1In the middle of a couple of things right now, but decided to focus a little bit less on the lighting and start laying groundwork for the SVO The map section was in real need of some love so I deleted a bunch of stuff and started prototyping the pointer arithmetic that I need to do
MitchellHansen
2016-10-06 23:25:31 -07:00
4c31cfaf48remove some debug to make it clearer where I left off
MitchellHansen
2016-10-03 00:13:45 -07:00
1c750451f3Added a 1/4 working phong shading function, breaks when the light direction in in negative values. The normals of voxels also are symmetrical which needs to be fixed.
MitchellHansen
2016-10-02 23:42:13 -07:00
0b3557cd5eTweaked indexing, there is a discrepancy at z_max values that I need to sort out. Added some 2d optimization functions for fun, currently doing a class involving them
MitchellHansen
2016-10-01 23:01:52 -07:00
582e37f540added small example video
MitchellHansen
2016-09-23 21:36:10 -07:00
1620f40d02Fixed the camera movement so it now take into account sub-voxel movement Also fixed the distortion around the XY axes
MitchellHansen
2016-09-23 14:08:01 -07:00
fe0fbc04e1little edit to get rid of some cl boilerplate
MitchellHansen
2016-09-22 22:18:30 -07:00
e13280bb07added relative camera controls, now handles like an actual fly cam.
MitchellHansen
2016-09-22 21:48:38 -07:00
92aee8c4caWould help if I actually added the files2016-09-19 03:01:47 -07:00
fecf8dd8eeReveting to an older build. Something on the mac build stopped my card from running it. Added camera class Added a create_buffer method Cleaned up much of the main function Added Vector4 class, ported from sf::Vector3 Various other edits2016-09-19 02:59:33 -07:00
10bc771807MBP was having problems with out of bounds memory operations with the way the cam dir was handled. sf::vector3f -> float3 and while accessign the Zth element. I'm assuming it was because of some weird backend stuff regarding that gentypeOdds are actually gentypeOdds + 1. Converted write_imagef's to write_imageui's though I don't think that really helps anything. Fixed the bottom half of the screen getting cut off. View matrix import error. Fixed problem the MBP had with negative values during device init, that was a weird one.mitchellhansen2016-09-05 22:01:07 -07:00
4e96985104added lighting, stole a terrain generator and ported it.
MitchellHansen
2016-09-05 15:35:46 -07:00
e1080baab0opencl has no rand, SO rand method to make fog a little better
MitchellHansen
2016-09-05 00:24:26 -07:00
6f5d2b2f6fChanged to non branching algo, sped up a good 30-50 ms at the current max ray dist. Also changed bounds checking a little, not sure if it's faster
MitchellHansen
2016-09-04 23:59:39 -07:00
160756186dmouse and camera movement work, stress testing. Can actually handle an impressive amount of resolution and voxel space for 0 optimization!
MitchellHansen
2016-09-03 21:13:03 -07:00
f487895f9fthat was a pain. Got it working on windows again. MSVC was being really picky about a few errors. Good thing though, I'm not really sure why clang + osx let me be that lax with memory
MitchellHansen
2016-09-03 19:23:50 -07:00
9c99f9edd0some tweaks, switching to windows for the weekendmitchellhansen2016-09-03 17:46:48 -07:00
cf607382a9WORKING! Awesome! It now casts fully inside the gpu, context is then switched to gl and then rendered via sfml. It has no loop, no controls, and the aspect ratio is off, but holy hell it works!mitchellhansen2016-09-01 22:45:48 -07:00
c565d0faccRefactored the cl init stuff, added the rest of the image handling in. The test kernel now draws a few pixels to the screen. Pretty much set up nowto start writing the raycastermitchellhansen2016-09-01 21:35:08 -07:00
a7234675cbContinuing on adding argument handling. Added a small sample texture and sprite which can be handed over to either gl or cl and then handed back. It can then be rendered. Changed to just an array of floats for the view matrixmitchellhansen2016-08-31 21:47:56 -07:00
11146a6551Getting things passed over to cl. No vector4 datatype in sfml, and cl only passes by even numbers of vectors. Update to 2.4? or make my own sf::Vector4?mitchellhansen2016-08-30 20:43:35 -07:00
0b9010b007little tweaks, tomorrow/this week will hook up the arguments and data loadingmitchellhansen2016-08-29 21:31:04 -07:00
5d9d3c4f4dAh, I'm a dummy. Forgot to initialize the command queue! No wonder why it was invalid...mitchellhansen2016-08-29 20:29:56 -07:00
c3902c2f6eAdded args and buffer handling, but now clEnqueueNDRangeKernel is failing with the error invalid command queue. Haven't seen that one before, and cursory google suggests it's a problem with MBP's. Fun! I'll keep taking a look, and I'll try it on my windows machine here soonmitchellhansen2016-08-29 18:51:46 -07:00
0c70c24a52Switched names, thinking about how to do kernel args, and buffers. Need to do a bit more reading on how to set up interop. Also need to figure out the buffer thing for regular primative buffers, and also image buffersmitchellhansen2016-08-28 22:40:29 -07:00
5dea2494a0Large amount done. OpenCL is almost completely abstracted out to the class from init to kernel compilation. Next will be getting buffer handling, executing, and reading done. Changed the kernel to a more minimal example. Added a jump table for error codes and an assert function for error checking. Added a routine to compare all the available cl devices and platforms, chooses the high clock of either the GPU or CPU.mitchellhansen2016-08-15 00:07:30 -07:00
edd8075afbAdded a quick printout of the hardware info. Running into a problem choosing between platforms, going to abstract CL out into it's own class and hide all that logic
MitchellHansen
2016-08-14 00:03:44 -07:00
3c9b39f682added the final kernel create function, moved around includes Next on the plate is either, abstract the cl routine, or begin digging into creating the kernelmitchellhansen2016-08-11 21:48:37 -07:00
d2b79ceec3Added a compilation routine, probably will abstract all this out into it's own class / function. Added a small kernel that I got from a tutorial to test the compilers error codes. Added a small notes file with error codes. Added some error checking for the error codesmitchellhansen2016-08-11 21:39:06 -07:00
49817f94b7Had a linking problem in the CMakeLists, fixed. Added a test file to check for cl/gl interop support & supported cl version Finished CL setup up to the creation of the command queuemitchellhansen2016-08-11 20:25:43 -07:00
bc093ef4e4Cleaned up the cmake file. Imports SFML, CL, and GL now. But I'm not sure how well it will work on windows so I need to test that out. Also added a stack overflow snippet to check your compute devices and give their opencl versionmitchellhansen2016-08-09 18:31:02 -07:00
bf45af9babAdded the SFML vector class. Need to extend it to have the vector operations I want Changes to be committed: modified: CMakeLists.txt modified: README.md renamed: src/Curses.h -> include/Curses.h new file: include/Vector3.h new file: src/Vector3.cppmitchellhansen2016-08-08 15:39:36 -07:00
c5858bca3eimplimented my curses doodad to show that 3d works in ascii too. Added camera movement with the mouse, but I need to change how it works
MitchellHansen
2016-08-06 11:08:05 -07:00
14987e3ba7There we go! The raycaster now has a camera that renders without distortion and can be pitched, yawed, and moved on the XYZ axis. I'm not sure now if I want to: Add lighting, improve performance, or start working on porting it to OpenCLmitchellhansen2016-08-03 22:29:31 -07:00
2b7dceee1bMoved the view plane calc to the constructor, cleaned up old code. Added / removed relevant commentsmitchellhansen2016-08-02 22:40:55 -07:00
1de9c6dd35Ahh! It works!! The camera is great now, it yaws and pitches perfectly, just need to limit it to 180 -> -180 on the pitch. There is still a problem when viewing in the negative angles, and as you move the camera closer to 0 things get weird and distorted. But the transfer over to a spherical camera point and a cartesian view plane worked fantasticallymitchellhansen2016-08-02 22:26:56 -07:00
d609ed695aGoing to need to get rid of the spherical cameramitchellhansen2016-08-01 23:32:25 -07:00
c3be6e2240Alright, that little change fixed some of the negative coord problems, still have some really weird warping though.mitchellhansen2016-08-01 20:29:11 -07:00
eb889f9937added header to play nice with macos
MitchellHansen
2016-07-31 17:13:16 -07:00
3deb3a2b08alright, tried a different method of assigning voxel step directions and I think it's working. The 3 negative walls are still very flat, and the lower XYZ numbers still distort the viewport
MitchellHansen
2016-07-31 17:00:18 -07:00
f1c84c85b5So it's rendering pretty much perfectly in the XYZ+ range but things break down when I start hitting negative values. I have a feeling this is going to be a lot of trial and error. Oh well
MitchellHansen
2016-07-31 16:31:26 -07:00
0b8cd9a194things are casting now and sfml is rendering the way I want it to. The voxel stepping is still all messed up, and it seems that there is some data corruption on the map that I'll need to dig into
MitchellHansen
2016-07-31 13:52:22 -07:00
1553b5da2cremove a cmake file, add gitignore for the cmake files
MitchellHansen
2016-07-31 01:06:23 -07:00
2b46bef923Basic render loop is taking shape. Digging back into the raycasting will be slightly annoying
MitchellHansen
2016-07-31 01:01:01 -07:00
37ef472f61More work done on the ray
MitchellHansen
2016-07-31 00:01:50 -07:00
4432c0338badded the map, switched branches
MitchellHansen
2016-07-30 23:05:59 -07:00
624d2771acDon't know what is in this one
Mitchell Hansen
2016-07-30 20:32:15 -07:00