项目作者: rafael-fuente

项目描述 :
A basic Ray Tracer that exploits numpy arrays and functions to work fast.
高级语言: Python
项目地址: git://github.com/rafael-fuente/Python-Raytracer.git
创建时间: 2020-04-28T01:51:58Z
项目社区:https://github.com/rafael-fuente/Python-Raytracer

开源协议:MIT License

下载


Python-Raytracer

A basic Ray Tracer that exploits numpy arrays and functions to work reasonably fast compared with a pure Python implementation.
The code is written keeping as much readability as possible.

animation

  • Refraction
  • Thin film interference
  • Textures
  • Monte Carlo Ray Tracing with importance sampling

Installation

Just clone or download this repo. You’ll need to install two packages.

  1. Pillow is a fork of the PIL package. It provides the Image module for this application.
    to install it run the following.
    1. pip install pillow
  2. Numpy is a scientific package that helps with mathematical functions.
    1. pip install numpy

Examples

See the examples to see how to render the following images:

  1. python example1.py

N|Solid

  1. python example2.py

N|Solid

  1. python example3.py

N|Solid

  1. python example4.py

N|Solid

  1. python example_cornell_box.py

N|Solid

Some animations:
https://www.youtube.com/watch?v=vt9vAcZQT4A

A basic version of this raytracer can be found here:
https://www.excamera.com/sphinx/article-ray.html

A C++ version of this raytracer can be found here:
https://github.com/rafael-fuente/sightpy-weekend-raytracer