27 #ifndef INTERNALLIGHTMANAGER_H 28 #define INTERNALLIGHTMANAGER_H 32 #include "shadowSource.h" 33 #include "shadowAtlas.h" 34 #include "shadowManager.h" 35 #include "pointerSlotStorage.h" 36 #include "gpuCommandList.h" 38 #define MAX_LIGHT_COUNT 65535 39 #define MAX_SHADOW_SOURCES 2048 41 NotifyCategoryDecl(lightmgr, EXPORT_CLASS, EXPORT_TEMPL);
62 MAKE_PROPERTY(max_light_index, get_max_light_index);
65 MAKE_PROPERTY(num_lights, get_num_lights);
68 MAKE_PROPERTY(num_shadow_sources, get_num_shadow_sources);
78 void gpu_update_light(
RPLight* light);
80 void gpu_remove_light(
RPLight* light);
81 void gpu_remove_consecutive_sources(
ShadowSource *first_source,
size_t num_sources);
83 void setup_shadows(
RPLight* light);
87 void update_shadow_sources();
96 float _shadow_update_distance;
100 #include "internalLightManager.I" 102 #endif // INTERNALLIGHTMANAGER_H
set_shadow_manager
Sets the handle to the shadow manager.
Internal class used for handling lights and shadows.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void set_shadow_update_distance(PN_stdfloat dist)
Sets the maximum shadow update distance.
get_num_shadow_sources
Returns the amount of shadow sources.
get_shadow_manager
Returns the internal used ShadowManager.
void add_light(PT(RPLight) light)
Adds a new light.
void update()
Main update method.
Class to keep a list of pointers and nullpointers.
get_max_light_index
RenderPipeline.
void set_camera_pos(const LPoint3 &pos)
Sets the camera position.
void remove_light(PT(RPLight) light)
Removes a light.
InternalLightManager()
Constructs the light manager.
void set_command_list(GPUCommandList *cmd_list)
Sets a handle to the command list.
get_num_lights
Returns the amount of stored lights.