Euphoria
raytracer.h File Reference
#include "base/vec3.h"
#include "base/ray.h"
#include "base/range.h"
#include "core/sphere.h"
#include "base/rgb.h"
#include <memory>
#include <optional>

Go to the source code of this file.

Classes

struct  eu::core::raytracer::ScatterResult
 
struct  eu::core::raytracer::Material
 
struct  eu::core::raytracer::Collision
 
struct  eu::core::raytracer::Object
 
struct  eu::core::raytracer::Scene
 

Namespaces

 eu
 
 eu::core
 
 eu::core::raytracer
 

Functions

std::shared_ptr< Object > eu::core::raytracer::create_sphere (const Sphere &sphere, const vec3f &position, std::shared_ptr< Material > material)
 
std::shared_ptr< Material > eu::core::raytracer::create_diffuse_material (const Rgb &albedo)
 
std::shared_ptr< Material > eu::core::raytracer::create_metal_material (const Rgb &albedo, float fuzz)
 
std::shared_ptr< Material > eu::core::raytracer::create_dielectric_material (const Rgb &albedo, float refractive_index)
 
void eu::core::raytracer::raytrace (Image *aimage, const raytracer::Scene &scene, int number_of_samples)