17 #define CPLUSPLUS_ONLY
37 diguyLightRenderDesc() : m_radius(1.0f), m_spot_angle(0.0f), m_spot_exponent(1.0f), m_falloff_r(.1f), m_falloff_rsq(.1f)
49 float m_spot_exponent;
87 const char* get_name();
99 const char* get_type_name();
110 void set_direction(
float x,
float y,
float z);
122 void get_direction(
float* x,
float* y,
float* z);
133 void set_position(
float x,
float y,
float z);
145 void get_position(
float* x,
float* y,
float* z);
156 void set_ambient_color(
float r,
float g,
float b,
float a);
168 void get_ambient_color(
float* r,
float* g,
float* b,
float* a);
179 void set_diffuse_color(
float r,
float g,
float b,
float a);
191 void get_diffuse_color(
float* r,
float* g,
float* b,
float* a);
202 void set_specular_color(
float r,
float g,
float b,
float a);
214 void get_specular_color(
float* r,
float* g,
float* b,
float* a);
217 int get_casts_shadows();
220 int set_scene_objects_cast_shadows(
int value);
221 int get_scene_objects_cast_shadows();
225 int set_brightness_multiplier(
float multiplier);
226 float get_brightness_multiplier();
229 void set_spot_exponent(
float exponent);
230 float get_spot_exponent();
233 void set_falloff_const(
float falloff_const);
234 float get_falloff_const();
237 void set_falloff_rsq(
float falloff_rsq);
238 float get_falloff_rsq();
260 int load_settings(
const char* settings_name);
282 void apply(
int i = 0);
304 CALLBACK_ID_SETTINGS_CHANGED = 1
307 #ifdef CPLUSPLUS_ONLY
350 int add_callback(
int callback_id,
352 void* callback_params = 0,
353 void* callback_user_data = 0);
375 int remove_callback(
int callback_id,
398 int remove_callback_with_user_data(
int callback_id,
399 void* callback_user_data);
436 int add_callback_script(
int callback_id,
437 const char* callback_script,
438 const char* callback_script_type = NULL);
474 int remove_callback_script(
int callback_id,
const char* callback_script,
475 const char* callback_script_type = NULL );
496 void set_casts_shadows(
int casts_shadows,
bool clear_shadow_map =
false );
500 void set_shadow_volume_size(
float volume );
501 float get_shadow_volume_size();
505 void set_shadow_offset_multiplier(
float multiplier );
506 float get_shadow_offset_multiplier();
509 void set_spotlight_angle(
float angle );
510 float get_spotlight_angle();
513 void bind_shadow_map(
int shadow_map_size );
514 void clear_shadow_map();
515 void unbind_shadow_map();
519 void set_active(
int active);
523 int set_shadow_map_update_paused(
int pause);
524 int get_shadow_map_update_paused();
526 int set_shadow_map_update_frequency(
int frame_frequency);
527 int get_shadow_map_update_frequency();
530 void set_near_plane(
float near_plane);
531 float get_near_plane();
533 void set_far_plane(
float far_plane);
534 float get_far_plane();
540 #ifdef CPLUSPLUS_ONLY
542 bdiLight* get_scripted_object() {
return m_light;}
552 friend class bdiLight;
The diguyViewLightSettings class holds camera settings data that can be loaded into a diguyViewLight ...
Definition: diguyViewLightSettings.h:45
The diguyViewLight provides a interface around a scene light useful in diguy scenario and the opengl ...
Definition: diguyViewLight.h:60
This class is a simple structure for transmitting diguy lights down to the uniform buffer system this...
Definition: diguyViewLight.h:34
diguyCallbackReturn diguyViewLightCallback(diguyViewLight *light, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:181