Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Slides, source-code and screencasts of introductory talk about raymarching held at C++user-group meeting in Aachen, Germany in May of 2018
Fetching latest commit…
Cannot retrieve the latest commit at this time.
This is the repository of an introductory talk about raymarching held at our local C++-user-group meeting in Aachen, Germany during May 2018. Screencasts for some of the supplied examples: * metaballs - https://www.youtube.com/embed/FW-8AaYzP_w * gyroid - https://www.youtube.com/embed/QqFFAoQWzTY * distortion - https://www.youtube.com/embed/uQ0vd2YQ9CM * truchet - https://www.youtube.com/embed/6Ljz1-MLXbY Build-dependencies are: * clang++ 4.x or g++ 6.x * SDL 2.0.5 * SDL_image 2.0.1 * OpenGL 4.x * GLEW 1.13.0 * cmake 3.5.x Currently Linux is the most frequently tested platform. macOS should work too. Windows (using MSYS/MinGW) is also supported. Visual-Studio support under Windows is being worked on. To build the binaries you do the usual... 1> cd build 1> cmake .. 1> make -j4 1> cd .. The usage of raymarcher-gl looks like this: raymarcher-gl <shader-file> [<width> <height> <fps-rate> <texture-file> <texture-file> <texture-file> <texture-file>] Example use of the built executables: 1> build/raymarcher-nongl 1> build/raymarcher-gl shaders/basic-3d-raymarching.glsl 1> build/raymarcher-gl shaders/texture-terrain.glsl 720 360 60 data/noise-256x256.png Interaction - if available (depending on the shader) - allows some viewpoint or object/plane manipulation with the mouse. The <SPACE>-key pauses the rendering-loop of a program, <F11> toggles between fullscreen and windowed and the <ESC>-key quits a program. You can live edit any loaded (fragment) shader-file. The raymarcher-gl binary will recognize any changes and try to reload/recompile the updated shader. In case of an error, it will dump the error-messages from the OpenGL-driver to stdout. Fix or undo the error to get a valid graphics-output again. In the directory experimental-shaders are a bunch of shaders not featured or mentioned in the talk itself. They are more of a playground to try out some ideas.