#ifndef LIGHT_EVALUATION_H #define LIGHT_EVALUATION_H #include "Lighting/Light.h" #include "Material/Material.h" #include "Geometry/Triangle.h" #include "Rendering/Scene.h" vec3s evaluate_bsdf_directional( directional_light_t light, const light_shading_context_t* context, vec3s throughput, uint32_t sample_index); inline vec3s evaluate_bsdf_sky(const scene_t* scene, const light_shading_context_t* context, vec3s throughput, uint32_t sample_index) { vec3s ske_color = glms_vec3_zero(); if (scene->lights.sky_light.evaluate_bsdf_sky != NULL) { ske_color = scene->lights.sky_light.evaluate_bsdf_sky(scene->lights.sky_light.data, context, throughput, sample_index); } return ske_color; } #endif // LIGHT_EVALUATION_H