Skip to content

distortedfuzz/advanced_ray_tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Advanced Ray Tracer

This is a CPU ray tracer with many features. The following images with the specified features were all rendered by it. The ray tracer also uses the BVH acceleration structure. Check out the blog series of this project for further information about the features, the time it took to render these scenes, and more: https://medium.com/@Ksatese

This project uses tinyxml, tinyexr, happly and stb_image.

trex_smooth

Reflections and conductors:

other_dragon

Dielectrics and instancing:

metal_glass_plates

marching_dragons

Transformations:

ellipsoids

Depth of field:

focusing_dragons

Motion blur:

dragon_dynamic 20 11 59

cornellbox_boxes_dynamic 20 11 59

Glossy reflections:

cornellbox_brushed_metal 20 11 59

metal_glass_plates

Area lights:

cornellbox_area 20 11 59

Texture mapping and procedural checkerboard texture:

VeachAjar

ellipsoids_texture

brickwall_with_normalmap

Normal mapping:

cube_waves

sphere_normal

Bump mapping:

sphere_nobump_justbump

killeroo_bump_walls

mytap_final

Perlin noise:

cube_perlin

dragon_new

Perlin noise bump mapping:

sphere_perlin_bump

Spot lights:

dragon_spot_light_msaa

dragon_new_with_spot

Directional lights:

cube_directional

Environment lights, HDR tone mapping:

All environment light images are .exr files and all remaining images from this point on in the project use the Reinhard tone mapping operator.

sphere_env_light

glass_sphere_env

mirror_sphere_env

head_env_light

audi-tt-pisa

audi-tt-glacier

Blinn Phong BRDF:

killeroo_blinnphong

killeroo_blinnphong_closeup

Torrance Sparrow BRDF:

killeroo_torrancesparrow

killeroo_torrancesparrow_closeup

Mesh lights:

cornellbox_jaroslav_diffuse_area

cornellbox_jaroslav_glossy_area_small

cornellbox_jaroslav_glossy_area

Sphere lights:

cornellbox_jaroslav_glossy_area_ellipsoid

cornellbox_jaroslav_glossy_area_sphere

Path tracing with uniform sampling:

diffuse_uniform

Path tracing with cosine importance sampling:

diffuse_cosine_importance

Next event estimation:

diffuse_importance_nee

diffuse_importance_nee

diffuse_importance_nee

glass_importance_nee_weighted_revised

Russian roulette:

diffuse_russian

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published