Skip to content

Slides, source-code and screencasts of introductory talk about raymarching held at C++user-group meeting in Aachen, Germany in May of 2018

License

Notifications You must be signed in to change notification settings

MacSlow/raymarching-vortrag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

205 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Slides, source-code and screencasts of introductory talk about raymarching held at C++user-group meeting in Aachen, Germany in May of 2018

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •