Raytracing Demo

Alex Carney

11 Jun 2020 1920 x 1080 3 revisions 15 sloc v0.0.7

A quick demo of the new raytracing module in the standard library. It is based on the first half of the Ray Tracing in One Weekend book however will need further development before it becomes truly useful.

import numpy as np
from arlunio.raytrace import (
    LambertianDiffuse,
    MaterialRenderer,
    SampledRenderer,
    Sphere
)
objects = [
    (Sphere(center=np.array([0, -100.5, -1]), radius=100), LambertianDiffuse()),
    (Sphere(center=np.array([0, 0, -1])), LambertianDiffuse(color='coral'))
]

kernel = MaterialRenderer(objects=objects, bounces=50)

renderer = SampledRenderer(kernel=kernel, samples=50)
image = renderer(width=1920, height=1080)