45 lines
693 B
C
45 lines
693 B
C
#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
|