OpenRT

Award-winning open-source ray-tracing C++ library

OpenRT

A C++ Ray Tracing Library for Photorealistic Rendering

View on GitHub Lectures Thesis Topics

Features

Distribution Ray Tracing

Realistic simulation of light transport with support for reflections and shadows.

Global Illumination

Accurate rendering of indirect lighting effects for photorealistic images.

Cross-Platform

Compatible with Windows, macOS, and Linux using C++17 and OpenCV.

Quick Links

Installation Guide

Step-by-step instructions to set up OpenRT on your system.

Tutorials

Learn how to create your first ray tracing application with OpenRT.

User Q&A Forum

Join the community to ask questions and share insights.

Computer Graphics Course

Lectures
Slides
Worksheets
Assignments

1
Introduction to Ray Tracing
2
Camera and Lens Models
3
Ray-geometry intersection algorithms
4
Spatial Index Structures
5
Shading: Rendering Equation & BRDF
7
Distribution Ray-Tracing
8
Transformations
10
Global Illumination
11
Human Visual System
12
Color
13
Sampling and Reconstruction
14
Environment camera & Virtual Reality

Project and Thesis Topics

3 Spheres
Procedural Textures

Unlike a bitmapped texture, in which the texture is represented as a bitmap, a procedural texture describes the texture mathematically. Although not widely used, this method is resolution independent and can create more precise textures, especially if there is great and varying depth to the objects being textured. Procedural textures may be 2D or 3D.

Many procedural textures for such materials as marble, stone and wood are generated based on the Perlin noise.

Wikipedia Victor’s blog YouTube
3 Spheres
Depth of Field (DoF)

Concentration on creation of new cameras with the thin lens approximation, to model the effect of finite apertures with traditional computer graphics projection models. The thin lens approximation models an optical system as a single lens with spherical profiles, where the thickness of the lens is small relative to the radius of curvature of the lens.

DoF effect is a part of stochastic ray tracing and makes use of the random samples generators.

Wikipedia pbr book
3 Spheres
Consistent Normal Interpolation

Rendering a polygonal surface with Phong normal interpolation allows shading to appear as it would for a true curved surface while maintaining the efficiency and simplicity of coarse polygonal geometry. However, this approximation fails in certain situations, especially for grazing viewing directions. Well-known problems include physically impossible reflections and implausible illumination.

ResearchGateCode & Visuals
3 Spheres
Geodesic raytracing

This topic assumes non-linear light propagation, thus the ray equation r(t) = o + td is not valid. Instead the light travel is then described by the Schwarzschild geodesics. This happens for example, when light travels close to a black hole, and thus, the light is deflected / bended by the gravity.

How to draw a black holearXiv
3 Spheres
Subsurface scattering / Subsurface light transport (SSLT)

Concentration on creation of new shaders for materials as wax, skin, marble, etc. SSLT may be implemented based on the photon beam diffusion (PBD) technique by Habel et al. The resulting profile takes all orders of scattering into account, effectively accounting for all of the light transport that occurs within the surface.

Wikipedia pbr book
3 Spheres
Particle System

Concentration on creation of new type of geometry to simulate certain kinds of “fuzzy” phenomena, which are otherwise very hard to reproduce with conventional rendering techniques – usually highly chaotic systems, natural phenomena, or processes caused by chemical reactions.

A particle system’s position and motion are controlled by an emitter. The emitter acts as the source of the particles, and its location in 3D space determines where they are generated and where they move to. A regular primitive or a solid, such as a cube or a plane, can be used as an emitter. Particles’ physics and interaction should be modeled.

Wikipedia
3 Spheres
Thick Lens Model

Concentration on creation of new cameras with a fairly rough approximation of actual camera lens systems, which are comprised of a series of multiple lens elements, each of which modifies the distribution of radiance passing through it.

pbr book
3 Spheres
Distributed Rendering
3 Spheres
Stohastic Supersampling
3 Spheres
GPU-based rendering
3 Spheres
Bounding Volume Hierarchy (BVH)