Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

rokuz/rt

Repository files navigation

Overview

Simple C++ ray tracing framework and demos.

Features

  • Multithreading support;
  • Supersampling support;
  • CUDA support (Windows only).

Demos

1. Pretty spheres

Pretty spheres Demo Here we render a bunch of spheres with random color, roughness and refraction index.

  • Global illumination - scattering on the matte and reflective surfaces;
  • Directional light source - light (shadow) rays;
  • Specularity - Cook-Torrance approximation.

2. Glass spheres

Glass spheres Demo Everything as in Pretty spheres demo + refraction on glass surfaces.

Command line arguments

-w - window's width (default = 1024);

-h - window's height (default = 768);

-s - supersampling samples (in row) count (default = 2, 2x2 samples here);

-t - ray tracing threads count (default = 4);

-d - demo index (default = 1);

-c - enable CUDA acceleration (only Windows supported).

Controls

  • Esc - exit;
  • T - rerender scene;
  • Q - rerender scene in high quality (at least 10x10 samples).

Supported platforms

  • Windows (msvc in Visual Studio 2017);
  • MacOS (clang).

Requirements

  • CMake 3.12+;
  • CUDA compatible device (for Windows with CUDA_ENABLE flag in CMake, tested on CUDA 10.0);
  • OpenGL 4.1 support.

License

You can find it here

Copyright (c) 2018 Roman Kuznetsov aka rokuz

Languages

AltStyle によって変換されたページ (->オリジナル) /