Xenodon - Volumetric Ray Tracer written in C++17 using Vulkan

  •        14

Volumetric Ray Tracer written in C++17 using Vulkan. This software was written as part of my bachelor thesis: https://theses.liacs.nl/1729.




Related Projects

The-Forge - The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4

  •    C++

The intended usage of The Forge is to enable developers to quickly build their own game engines. The Forge can provide the rendering layer for custom next-gen game engines. Added a unified input system based on Gainput to all platforms (https://github.com/jkuhlmann/gainput). The new input system substantially simplified input management on the application level over all platforms. We also simplified the camera controller. Added also new VirtualJoystick class in UI.


  •    C

Teem is a set of ANSI C libraries for manipulation, measurement, and visualization of structured scientific data. Includes N-dimensional image I/O and processing, volume rendering, diffusion tensor processing, ray tracing, PostScript rendering, and more.

rexray - REX-Ray is a container storage orchestration engine enabling persistence for cloud native workloads

  •    Go

REX-Ray provides a vendor agnostic storage orchestration engine. The primary design goal is to provide persistent storage for Docker, Kubernetes, and Mesos.It is additionally available as a Go package, CLI tool, and Linux service which enables it to be used for additional use cases.

tray_rust - A toy ray tracer in Rust

  •    Rust

tray_rust is a toy physically based ray tracer built off of the techniques discussed in Physically Based Rendering. It began life as a port of tray to Rust to check out the language but has surpassed it in a few ways. The renderer is currently capable of path tracing, supports triangle meshes (MTL support coming soon), and various physically based material models (including measured data from the MERL BRDF Database). tray_rust also supports rigid body animation along B-spline paths and distributed rendering. Currently requires nightly Rust for placement new. Running and passing --help or -h will print out options you can pass to the renderer which are documented in the help. For the more complicated use cases I hope to do some write ups and guides on how to use them (e.g. distributed rendering, animation) but this may take a while. I strongly recommend running the release build as the debug version will be very slow.



VolumeMaster is an On Screen Display (OSD) that gets activated whenever the volume changes. It's written in WPF and uses Vista Core Audio API by Ray M. VolumeMaster allows you to change the volume simply by holding the shift key and scrolling your mouse wheel up / down. Hol...

vapory - Photo-realistic 3D rendering with Python and POV-Ray

  •    Python

Vapory is a Python library to render photo-realistic 3D scenes with the free ray-tracing engine POV-Ray. Vapory is an open-source software originally written by Zulko, released under the MIT licence, and hosted on Github, where everyone is welcome to contribute or ask for support.

pyray - A 3d rendering library written completely in python.

  •    Python

I'm creating this repository in January 2018 and it is crazy that the best open source option for rendering 3d scenes remains POV ray. Now, POV ray is a great program, but why can't we have that functionality (rendering 2d, 3d and higher dimensional objects and scenes) in Python, a language that is perhaps the most widely used already and only growing in popularity? This code is a first step towards that goal - have the ability to do everything POV ray does - rendering complex 3d objects and scenes, animations and much more in plain, vanilla Python. I imagine this would find applications in creating videos, video games, physical simulations or just pretty pictures. Above all else, I want to emphasize simplicity in this library and minimize the dependence on external libraries so more people can hit the ground running with it.

vtk-js - Visualization Toolkit for the Web

  •    Javascript

VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization. VTK includes many advanced algorithms (e.g., surface reconstruction, implicit modelling, decimation) and rendering techniques (e.g., hardware-accelerated volume rendering, LOD control). The JavaScript implementation remain a subset of the actual C++ library but efforts will be made to easily port or compile native VTK code into WebAssembly to better blend both world. The origin of VTK is with the textbook "The Visualization Toolkit, an Object-Oriented Approach to 3D Graphics" originally published by Prentice Hall and now published by Kitware, Inc. (Third Edition ISBN 1-930934-07-6). VTK has grown (since its initial release in 1994) to a world-wide user base in the commercial, academic, and research communities.

Core Ray

  •    DotNet

Core Ray is a physical raytracer completely written in C#.


  •    C++

RAY++ is a collection of C++ classes needed for ray tracing (shapes, surfaces, cameras etc.). The object-oriented design makes it easy to extend the package.

volume-meter - Simple example of implementing a clip-detecting volume meter in Web Audio.

  •    Javascript

I whipped this app up to show a basic volume meter on live audio input. It does both clip detection and RMS volume. A "volume" meter can mean many things; if you want to do clip detection, you really need to access every sample. If you don't need clip detection, I might suggest using an Analyser and getByteTimeDomainData, since it will likely have lower CPU overhead. Note that it is CRITICALLY IMPORTANT to disassociate visual rendering (in the requestAnimationFrame loop) from the onaudioprocess function - you do NOT want to trigger a relayout from inside your audio handler, or it may glitch or cause other issues.


  •    C++

rapido is a ray tracing library with support for static and dynamic geometry that enables real-time ray tracing of reasonably complex scene.


  •    C++

bwfirt (Benchmark Without Fast Interactive Ray Tracing) is a framework for benchmarking ray tracing kernels in the context of a realistic light simulation application.


  •    C++

Another Ray-Tracing Program. Full impementation from scratch of this well-known algorithm using C++. Thanks to OOP, the code is very simple and not really optimized. I would like it to be a learning basis for the ones interested in ray-tracing.

G3D Innovation Engine

  •    Java

G3D is a commercial-grade C++ 3D engine. It is used in commercial games, research papers, military simulators, and university courses. G3D supports real-time rendering, off-line rendering like ray tracing, and general purpose computation on GPUs.

Sunflow Rendering System

  •    Java

Sunflow is a rendering system for photo-realistic image synthesis. It is written in Java and built around a flexible ray tracing core and an extensible object-oriented design.

kode80SSR - An open source screen space reflections implementation for Unity3D 5.

  •    GLSL

An open source (FreeBSD license) screen space reflections implementation for Unity3D 5. Features GPU DDA for screen space ray casting (derived from Morgan McGuire & Mike Mara's work), backface depth buffer for per-pixel geometry thickness, distance attenuated pixel stride, rough/smooth surface reflection blurring, fully customizable for quality/speed and more. Add the SSR component to a Camera, see properties section below for details. Requires deferred rendering path and a scene made up of Standard Shader materials.

ray-mmd - 🎨 The project is designed to create a physically-based rendering at mikumikudance.

  •    HLSL

  Ray-MMD is a free, powerful library and an extension pack of mikumikudance, offering an easy way of adding physically-based rendering with high-freedom of operation. it is written in hlsl lang with DX9 env and based on mikumikueffect.   If you are a developer using this as part of your love and considering contacting me, you can submit code by Pull requests or Feel free to contact me via twitter and issues, i'll add your profile to team members, Thanks.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.