CUDA raytracer+raymarcher with DirectX 11 interoperability.
C++ C C# Cuda Objective-C
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Bin
External
Protos/kd-tree-test
Src
.gitignore
CudaProject.sln
README.md
licenseKernelSanders.md
licenseOther.md

README.md

#KernelSanders

the_kernel

A CUDA raytracer and raymarcher with DirectX 11 interoperability. KernelSanders is able to render textured meshes, geometric primitives and 3d fractals in real time. Meshes and primitives are lit from several light sources and can cast shadows and have reflective surfaces. When a mesh is loaded for the first time the application will construct a kD-tree for it, using the SAH-algorithm. This tree is then cached on disk for future uses.

An infinite starry sky is rendered using raymarched Mandelbulb fractals. Each fractal is unique (based on placement) and can be reached by navigating using the keyboard and mouse or an Xbox360 gamepad.

Video (raymarcher part): https://www.youtube.com/watch?v=dHV4Lj_LJp0

mandel1

mandel2

mandel3

scene

frac

kd

stars

##External dependencies

  • Assimp
  • CUDA
  • FreeImage
  • GLM
  • OIS
  • Visual Leak Detector

##License

  • KernelSanders license is found in licenseKernelSanders.md.
  • Parts of the engine(mainly the libs Graphics, Util and Context) are based on the Amalgamation engine of which I'm a co-author, for those, see licenseOther.md.