28 lines
742 B
Julia
28 lines
742 B
Julia
using BenchmarkTools
|
|
using LinearAlgebra
|
|
using Rotations
|
|
|
|
# using Images
|
|
using Colors
|
|
using GLMakie
|
|
|
|
##
|
|
include("SimpleRayTracer.jl")
|
|
|
|
world = SimpleRayTracer.World(RGB(.1,.5,.5))
|
|
push!(world, SimpleRayTracer.Sphere(Vec3(-2.5, 0.0, 0.0), 2.0, RGB(1, 0, 0)))
|
|
push!(world, SimpleRayTracer.Sphere(Vec3( 2.5, 0.0, 0.0), 2.0, RGB(0, 1, 0)))
|
|
push!(world, SimpleRayTracer.Sphere(Vec3( 0.0, 0.0, 2.5), 2.0, RGB(0, 0, 1)))
|
|
|
|
camera = SimpleRayTracer.OrthogonalCamera(
|
|
Vec3(0.0, 0.0, -5.0),
|
|
RotXYZ(0.0, 0.0, 0.0),
|
|
(5.0, 5.0)
|
|
)
|
|
|
|
resolution = (256, 256)
|
|
img = [SimpleRayTracer.trace_ray(world, ray).color for ray in SimpleRayTracer.get_rays(camera, resolution)];
|
|
|
|
fig = Figure(size=resolution)
|
|
ax = Axis(fig[1,1], aspect=1)
|
|
image!(ax, img)
|