15 #ifndef POLYLIGHTEFFECT_H
16 #define POLYLIGHTEFFECT_H
18 #include "pandabase.h"
21 #include "renderEffect.h"
24 #include "polylightNode.h"
27 #include "sceneSetup.h"
50 INLINE PolylightEffect(
const PolylightEffect ©);
54 static CPT(
RenderEffect) make(PN_stdfloat weight, ContribType contrib,
const LPoint3 &effect_center);
61 INLINE PN_stdfloat get_weight()
const;
62 INLINE ContribType get_contrib()
const;
63 INLINE
LPoint3 get_effect_center()
const;
65 bool has_light(
const NodePath &light)
const;
68 virtual bool has_cull_callback()
const;
70 CPT(TransformState) &node_transform,
76 virtual void output(ostream &out)
const;
79 ContribType _contribution_type;
85 virtual int compare_to_impl(
const RenderEffect *other)
const;
91 static void init_type() {
92 RenderEffect::init_type();
93 register_type(_type_handle,
"PolylightEffect",
94 RenderEffect::get_class_type());
97 return get_class_type();
99 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
105 #include "polylightEffect.I"
107 ostream &operator << (ostream &out, PolylightEffect::ContribType ct);
virtual void cull_callback(CullTraverser *trav, CullTraverserData &data, CPT(TransformState)&node_transform, CPT(RenderState)&node_state) const
If has_cull_callback() returns true, this function will be called during the cull traversal to perfor...
This is the base class for a number of render attributes (other than transform) that may be set on sc...
This collects together the pieces of data that are accumulated for each node while walking the scene ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is the base class for a number of special render effects that may be set on scene graph nodes to...
A PolylightEffect can be used on a node to define a LightGroup for that node.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
TypeHandle is the identifier used to differentiate C++ class types.
This object holds the camera position, etc., and other general setup information for rendering a part...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling...