#ifndef LIGHT_H #include "color.h" #include "vec.h" #include // STRUCTURES struct LightAmbient { inline ColorF32 ComputeColor(ColorF32 reflectivity) { ColorF32 result; result = reflectivity * intensity; return result; } float intensity; }; struct LightDiffuse { inline ColorF32 ComputeColor(ColorF32 reflectivity, Vector normal) { ColorF32 result; float dot = Vector::Dot(normal, direction); result = reflectivity * intensity * dot; return result; } float intensity; Vector direction; }; struct LightList { LightAmbient ambient; LightDiffuse diffuse; }; #define LIGHT_H #endif