Skip to content

codeonwort/Software-Raytracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Implement CPU raytracer.

Project structure

raylib/  : Contains raytracing implementation. Built as a DLL.
src/     : CUI application that performs basic Read-Eval-Print loop.
           Select a demo scene, adjust rendering options, and execute raytracer.
gui-app/ : GUI version of the CUI app. Written in C# for practice.

How to build

  1. Run Setup.ps1.
  2. Build at the top level using CMake. This should build raylib and src.
  3. Build gui-app. Copy FreeImage.dll, OpenImageDenoise.dll, raylib.dll, and tbb12.dll from raylib output to gui-app output directory.

Environment

Raylib and CUI app

  • Language : C++11
  • IDE : Visual Studio 2022
  • Build tool : CMake
  • OS : Windows 10 or newer

GUI app

  • Language : C# 11 (.NET SDK 7)
  • IDE : Visual Studio 2022

Sample images

Most of OBJ models are downloaded from Morgan McGuire's Computer Graphics Archive

Denoised images are generated by OpenImageDenoise integration

Famous demo scenes

SanMiguel SanMiguel_2 San Miguel

CornellBox Cornell Box

BreakfastRoom Breakfast Room

BreakfastRoomDebug Breakfast Room, debug mode = VertexNormal

DabrovicSponza Dabrovic Sponza

FireplaceRoom Fireplace Room

LivingRoom Living Room

Random scenes

preview3 preview5 preview6

guiapp