#ifndef SKY_LIGHT_H #define SKY_LIGHT_H #include "Light.h" #include typedef struct { vec3s color; float intensity; } constant_sky_data_t; vec3s evaluate_bsdf_const_sky(const void* data, const light_shading_context_t* context, vec3s throughput, uint32_t sample_index); inline sky_light_t sky_create_constant_sky(const constant_sky_data_t* data) { sky_light_t light = { .evaluate_bsdf_sky = evaluate_bsdf_const_sky, .type = SKY_TYPE_CONSTANT, .data_size = sizeof(constant_sky_data_t), }; memcpy(light.data, data, sizeof(constant_sky_data_t)); return light; } #endif // SKY_LIGHT_H