Exploring raycasters and possibly make a little "doom like" game based on it.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Zed A. Shaw ea3dd204a1 Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
amt Bring Amit's latest fix in and protect against the sprites rendering the texY value wrong sometimes. 2 months ago
assets Bring in the gnu omni font for text, and rewrite my stats code to use c++ and then use that to calc FPS stats for an FPS display on the left. Debug build gets about 48, release gets about 500fps. Amit's code will probably do even better. 2 months ago
scratchpad Reworked the files before the big cleanup of the code. 2 months ago
scripts Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
tests Brought in Amit's latest code and converted it to use either dumb lighting or his new torch lighting, then threw in the FPS counter from last night. 2 months ago
wraps Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
.gdbinit My gdb debug thing. 2 months ago
.gitignore First build that actually works. SDL_main errors before but didn't figure out the cause. 2 months ago
.vimrc_proj First build that actually works. SDL_main errors before but didn't figure out the cause. 2 months ago
Makefile Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
README.md Add a README to start. Not much in it. 2 months ago
config.cpp Amit's code mostly converted to use the new texture.hpp but there's an error on line amt/pixel.hpp:472 2 months ago
config.hpp Finished the first pass of moving everything around and cleaning up as much as possible. 2 months ago
constants.hpp Make it so that DNEBUG is forced on release build, and that the UI stats counter will show that this is a debug build or not via NDEBUG. 2 months ago
dbc.cpp Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago
dbc.hpp First cut at a replica of the python raycaster. Left side almost works the same but have to sort out math differences. 2 months ago
dbg.h Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago
main.cpp Brought in Amit's latest code and converted it to use either dumb lighting or his new torch lighting, then threw in the FPS counter from last night. 2 months ago
matrix.cpp First cut at a replica of the python raycaster. Left side almost works the same but have to sort out math differences. 2 months ago
matrix.hpp Fenscaster is now using the first version of Lode's DDA raycasting algorithm but the coordinates/angles in the left map view don't matchthe right view, and the right view distorts the distance to far wall so they're viewed at 'infinity'. 2 months ago
meson.build Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
meson.options Add the tracy wrap and meson options. 2 months ago
point.hpp First cut at a replica of the python raycaster. Left side almost works the same but have to sort out math differences. 2 months ago
raycaster.cpp Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2 months ago
raycaster.hpp Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago
stats.cpp Bring in the gnu omni font for text, and rewrite my stats code to use c++ and then use that to calc FPS stats for an FPS display on the left. Debug build gets about 48, release gets about 500fps. Amit's code will probably do even better. 2 months ago
stats.hpp Bring in the gnu omni font for text, and rewrite my stats code to use c++ and then use that to calc FPS stats for an FPS display on the left. Debug build gets about 48, release gets about 500fps. Amit's code will probably do even better. 2 months ago
texture.cpp Amit's code mostly converted to use the new texture.hpp but there's an error on line amt/pixel.hpp:472 2 months ago
texture.hpp Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago

README.md

Simple Raycaster Study

This is a study project for me to learn the raycasting technique. It's an older technique that's not really used much but I'm learning game dev historically and it's definitely been used in the past (Doom).

I've been told to look into the following as well:

https://en.wikipedia.org/wiki/Gilbert%E2%80%93Johnson%E2%80%93Keerthi_distance_algorithm