#ifndef _PIUMA_RENDER_LIGHTS_H_ #define _PIUMA_RENDER_LIGHTS_H_ struct r_sun_light { v3 direction; f32 _padding0; v3 color; f32 intensity; }; struct r_point_light { v3 position; f32 _padding0; v3 color; f32 intensity; }; struct r_spot_light { v3 position; f32 inner_radius; v3 color; f32 intensity; v3 direction; f32 outer_radius; }; #define MAX_SUN_LIGHTS 4 #define MAX_POINT_LIGHTS 128 #define MAX_SPOT_LIGHTS 128 struct r_light_container { u32 sun_light_count; u32 point_light_count; u32 spot_light_count; f32 ambient_light; r_sun_light sun_lights[MAX_SUN_LIGHTS]; r_point_light point_lights[MAX_POINT_LIGHTS]; r_spot_light spot_lights[MAX_SPOT_LIGHTS]; }; #endif