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
MitchellHansen
fe0fbc04e1
little edit to get rid of some cl boilerplate
8 years ago
MitchellHansen
e13280bb07
added relative camera controls, now handles like an actual fly cam.
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
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
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
ce2623f302
cl wrapper, clapper, hah
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
3c9b39f682
added the final kernel create function, moved around includes
...
Next on the plate is either, abstract the cl routine, or
begin digging into creating the kernel
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
mitchellhansen
49817f94b7
Had 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 queue
8 years ago
mitchellhansen
bc093ef4e4
Cleaned 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 version
8 years ago
mitchellhansen
8f809f5f70
Starting on OpenCL, got cmake to link it correctly, and started on
...
a minimal example
8 years ago
mitchellhansen
bf45af9bab
Added 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.cpp
8 years ago
MitchellHansen
c5858bca3e
implimented 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
8 years ago
mitchellhansen
c431d7452a
Lighting, testing voxel generation
8 years ago
mitchellhansen
14987e3ba7
There 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 OpenCL
8 years ago
mitchellhansen
2b7dceee1b
Moved the view plane calc to the constructor, cleaned up old code. Added / removed relevant comments
8 years ago
mitchellhansen
1de9c6dd35
Ahh! 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 fantastically
8 years ago
mitchellhansen
d609ed695a
Going to need to get rid of the spherical camera
8 years ago
mitchellhansen
c3be6e2240
Alright, that little change fixed some of the negative coord problems, still have some really weird warping though.
8 years ago
MitchellHansen
3deb3a2b08
alright, 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
8 years ago
MitchellHansen
f1c84c85b5
So 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
8 years ago
MitchellHansen
0b8cd9a194
things 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
8 years ago
MitchellHansen
2b46bef923
Basic render loop is taking shape. Digging back into the
...
raycasting will be slightly annoying
8 years ago
MitchellHansen
37ef472f61
More work done on the ray
8 years ago
MitchellHansen
4432c0338b
added the map, switched branches
8 years ago
Mitchell Hansen
624d2771ac
Don't know what is in this one
8 years ago
Mitchell
371eb22cae
Delete .DS_Store
8 years ago
Mitchell Hansen
797738206d
Added a simple FPS counter and a place for assets
8 years ago
Mitchell Hansen
07885a2b86
Ported over the 'fix your timestep' game loop with the nifty C++11 chrono stuff
8 years ago
Mitchell Hansen
12a33740f9
init
8 years ago