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)