Skip to content

A high performance raytracer programmed with CUDA. There are various improval features such as AI denoise, depth of field.. etc in it.

Notifications You must be signed in to change notification settings

nkkk98/MyGPURaytracer

Repository files navigation

MyGPURaytracer

A high performance monte-carlo raytracer programmed with CUDA. There are various improval features such as AI denoising, cache first bounce, sort materials, arbitrary mesh loading. etc in it. The implementation of the paper "Edge-Avoiding A-Trous Wavelet Transform for fast Global Illumination Filtering" is in branch atrous as it conflits with the AI denoise feature.

obj

Features

  • Monte-Carlo ray tracer on GPU;

  • BSDF Evaluation: pure diffuse, reflection and refraction, diffuse+specular;

    Purely Diffuse Reflective
    diffuse reflection
    Refractive Diffuse & Reflective
    refraction diffuse spec
  • AI denoise implemented with Intel Open Image Denoise;

    Use albedo image as an auxiliary to reduce noise (oidnRayTraced.exe file output denoised result in real-time).

    Ray-traced noisy result Albedo Denoised Result
    diffuse_input diffuse_albedo diffuse
    reflect_input reflect_albedo reflection
    refract_input refract_albedo refraction
    diffuse spec_input diffuse spec_albedo diffuse spec
  • Use tinyobj to load arbitrary .obj model with its specular,diffuse, emission and bumping textures;

  • Depth of field

    Focus on

    With Depth-of-Field Without Depth-of-Field
    DOF refraction
  • GPU improvement: stream compaction

  • Cache first intersection

  • Stochastic Sampled Antialiasing

TODO

For massive scenes:

Usage

Only support win32:

oidnRaytracer.exe directory/to/scene.txt

executable directory example:

--ProjectFolder
	|--build
	    |--bin
		|--Release
		    |--oidnRaytracer.exe
		|--models
		    |--materials
			|--a.mtl
		    |--a.obj 
		|--textures
		    |--a_kd.jpg
		    |--a_ks.jpg
		    |--a_emi.jpg

About

A high performance raytracer programmed with CUDA. There are various improval features such as AI denoise, depth of field.. etc in it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published