MitchellHansen
61ab5682da
SFML packets have no documented structure so I had to packet them out myself. Low Energy
8 years ago
MitchellHansen
1627fe4572
Textures were suprisingly trivial with the plane intersection code hashed out
8 years ago
MitchellHansen
ccdcb382fd
Bringing up to date before I try something
8 years ago
MitchellHansen
86f342432a
added light controls
8 years ago
MitchellHansen
26bc8bff70
Hah! I got it working!
8 years ago
MitchellHansen
1a66c1dad0
fixed the hitchy lighting
8 years ago
MitchellHansen
73026bc65d
Very very close to pixel perfect shadows. Having some of that axis switch malarchy slowing things down
8 years ago
MitchellHansen
a812fba43c
Trying to get the position on the face where the rays intersect the voxel. Some promising first results.
8 years ago
MitchellHansen
abec38e7c7
Finally found the root of that off by one error. Changed up the readme.
8 years ago
MitchellHansen
cc7a4a2efb
Shadows now working, though they are still voxel based. Need to calculate where on the surface the ray hits, and then send the ray out from that point.
8 years ago
MitchellHansen
9a12fba310
Working with the Blin-Phong lighting. Fixed the symmetry between the normals. Starting working on shadows
8 years ago
MitchellHansen
129e475b15
Fixed the way lights were linked to opencl, did some tweaking of the phong lighting.
8 years ago
MitchellHansen
3c91614f45
Working on a messaging system for sf events
8 years ago
MitchellHansen
475a879b51
Why the off by one on voxel.y? lolololol
8 years ago
MitchellHansen
f8be952a9b
Fixed the camera coords in the view matrix. Tweaked cam position in kernel, odd off by one error.
8 years ago
MitchellHansen
bb9fab6305
Added lookat function. Fixed various coordinate missmatches and issues. Fixed camera movement. Added some input functions. I need some way to log fps and find those hitches
8 years ago
MitchellHansen
51a08fc0bb
Various tweaks and modifications
...
Some preliminary testing of map
8 years ago
MitchellHansen
c98adefa3a
tweaked some groovy color effects, updated screeny. I think I might have added fog in this one too?
8 years ago
MitchellHansen
3817662b65
Changed Y -> color change
...
Added new screenshot
8 years ago
MitchellHansen
8c1f18ac70
Software raycasting now works, but has some major problems / is extremely
...
slow. Perhaps it will only be useful in debugging the kernel via emulation
8 years ago
MitchellHansen
d1bd4ce667
The new rendering method now works on the full compat case.
...
Added a kernel to help test opencl data passing
renamed the kernels, buffers, etc.
8 years ago
MitchellHansen
ef4c001bf2
Bug in the current crimson drivers (16.10.3) which incurs a 500kb per
...
cycle memory leak when using printf statements inside cl kernels
8 years ago
MitchellHansen
561c07c602
Turned 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
8 years ago
MitchellHansen
de2f0ad6a1
In 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
8 years ago
MitchellHansen
4c31cfaf48
remove some debug to make it clearer where I left off
8 years ago
MitchellHansen
1c750451f3
Added 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.
8 years ago
MitchellHansen
0b3557cd5e
Tweaked 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
8 years ago
MitchellHansen
582e37f540
added small example video
8 years ago
MitchellHansen
1620f40d02
Fixed the camera movement so it now take into account sub-voxel movement
...
Also fixed the distortion around the XY axes
8 years ago
92aee8c4ca
Would help if I actually added the files
8 years ago
fecf8dd8ee
Reveting 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 edits
8 years ago
mitchellhansen
3220a03677
Redid the colors, added a few comments
8 years ago
mitchellhansen
10bc771807
MBP 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.
8 years ago
MitchellHansen
4e96985104
added lighting, stole a terrain generator and ported it.
8 years ago
MitchellHansen
e1080baab0
opencl has no rand, SO rand method to make fog a little better
8 years ago
MitchellHansen
6f5d2b2f6f
Changed 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
8 years ago
MitchellHansen
160756186d
mouse and camera movement work, stress testing. Can actually handle an
...
impressive amount of resolution and voxel space for 0 optimization!
8 years ago
MitchellHansen
f487895f9f
that 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
8 years ago
mitchellhansen
9c99f9edd0
some tweaks, switching to windows for the weekend
8 years ago
mitchellhansen
cf607382a9
WORKING! 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!
8 years ago
mitchellhansen
c565d0facc
Refactored 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 raycaster
8 years ago
mitchellhansen
a7234675cb
Continuing 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 matrix
8 years ago
mitchellhansen
11146a6551
Getting 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?
8 years ago
mitchellhansen
0b9010b007
little tweaks, tomorrow/this week will hook up the arguments and data loading
8 years ago
mitchellhansen
5d9d3c4f4d
Ah, I'm a dummy. Forgot to initialize the command queue! No wonder why it
...
was invalid...
8 years ago
mitchellhansen
c3902c2f6e
Added 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 soon
8 years ago
mitchellhansen
0c70c24a52
Switched 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 buffers
8 years ago
mitchellhansen
5dea2494a0
Large 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.
8 years ago
MitchellHansen
edd8075afb
Added 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
8 years ago
mitchellhansen
d2b79ceec3
Added 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 codes
8 years ago