https://github.com/huzecong/renderer
Naïve renderer
https://github.com/huzecong/renderer
cpp path-tracing renderer
Last synced: about 2 months ago
JSON representation
Naïve renderer
- Host: GitHub
- URL: https://github.com/huzecong/renderer
- Owner: huzecong
- Created: 2016-06-25T17:33:44.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-07-07T08:13:15.000Z (over 9 years ago)
- Last Synced: 2025-08-10T22:25:45.433Z (8 months ago)
- Topics: cpp, path-tracing, renderer
- Language: C++
- Size: 17 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Naïve Renderer
This repo contains a naïve renderer that failed in the attempt to be photo-realistic. It is the final project for the Computer Graphics course.
Features implemented (listed in order of decreasing difficulty):
- Monte-Carlo-based path tracing
- Reflection, refraction, and diffusion
- Spherical texture mapping
- Image-based lighting (with strange artefacts)
- Anti-aliasing and depth-of-field
The following are some carefully-chosen above-average pictures rendered by this renderer:
- Cornell box with mirror, glass, and textured glossy spheres:

- Cornell box with mirror, glass, and metallic spheres:

- Cornell box demonstrating depth-of-field effect:

- Environment lighting using image-based lighting (with obvious artefacts) that took the least rendering time but looked the most impressive:

#### References:
- Daniel Ritchie, Lita Cho. The Monte Carlo Project - A Path Tracer. http://web.stanford.edu/~dritchie/path/index.html.
- Scratchpixel. Introduction to Shading: Reflection, Refraction (Transmission) and Fresnel. http://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/reflection-refraction-fresnel.
- Scratchpixel. The Phong Model, Introduction to the Concepts of Shader, Reflection Models and BRDF. http://www.scratchapixel.com/lessons/3d-basic-rendering/phong-shader-BRDF.