// lighting.h #pragma once typedef enum { LIGHT_DIR=0, LIGHT_POINT } LightType; typedef struct { LightType type; float color[3]; float intensity; float direction[3]; float position[3]; float range; } Light; Light* light_create_dir(float r, float g, float b, float intensity, float dx, float dy, float dz); Light* light_create_point(float r, float g, float b, float intensity, float x, float y, float z, float range); void light_destroy(Light* light);