RayTracer 1.0
Ray tracing is a technique used to generate realistic digital images by simulating the inverse path of light. Our goal is to create a program able to generate an image from a file describing the scene.
 
Loading...
Searching...
No Matches
RayTracer::AmbientLight Class Reference

#include <AmbientLight.hpp>

Inheritance diagram for RayTracer::AmbientLight:
RayTracer::ILight

Public Member Functions

 AmbientLight (float intensity)
 
Color illuminate (const Ray &ray, const IPrimitive &object, const Math::Point3D &point) const override
 
- Public Member Functions inherited from RayTracer::ILight
virtual ~ILight ()=default
 

Private Attributes

float _intensity
 

Detailed Description

Definition at line 12 of file AmbientLight.hpp.

Constructor & Destructor Documentation

◆ AmbientLight()

RayTracer::AmbientLight::AmbientLight ( float intensity)
explicit

Definition at line 9 of file AmbientLight.cpp.

9 : _intensity(intensity)
10{}

References _intensity.

Member Function Documentation

◆ illuminate()

Color RayTracer::AmbientLight::illuminate ( const Ray & ray,
const IPrimitive & object,
const Math::Point3D & point ) const
overridevirtual

Implements RayTracer::ILight.

Definition at line 12 of file AmbientLight.cpp.

13{
14 Color base = object.getBaseColor();
15
16 return Color(
17 static_cast<int>(base.r * _intensity),
18 static_cast<int>(base.g * _intensity),
19 static_cast<int>(base.b * _intensity)
20 );
21}
int r
Definition Color.hpp:13
int g
Definition Color.hpp:13
int b
Definition Color.hpp:13

References _intensity, Color::b, Color::g, and Color::r.

Member Data Documentation

◆ _intensity

float RayTracer::AmbientLight::_intensity
private

Definition at line 19 of file AmbientLight.hpp.


The documentation for this class was generated from the following files: