Go to the documentation of this file.
41 virtual void xform(
const LMatrix4 &mat);
42 virtual void write(std::ostream &out,
int indent_level)
const;
45 const LPoint3 &from_object_point,
46 const LMatrix4 &to_object_space);
50 INLINE
void set_exponent(PN_stdfloat exponent);
51 MAKE_PROPERTY(exponent, get_exponent, set_exponent);
53 INLINE const LColor &get_specular_color() const final;
54 INLINE
void set_specular_color(const LColor &color);
55 INLINE
void clear_specular_color();
56 MAKE_PROPERTY(specular_color, get_specular_color, set_specular_color);
58 INLINE const LVecBase3 &get_attenuation() const final;
59 INLINE
void set_attenuation(const LVecBase3 &attenuation);
60 MAKE_PROPERTY(attenuation, get_attenuation, set_attenuation);
62 INLINE PN_stdfloat get_max_distance() const;
63 INLINE
void set_max_distance(PN_stdfloat max_distance);
64 MAKE_PROPERTY(max_distance, get_max_distance, set_max_distance);
66 virtual
int get_class_priority() const;
68 static PT(
Texture) make_spot(
int pixel_width, PN_stdfloat full_radius,
69 LColor &fg, LColor &bg);
76 virtual
void fill_viz_geom(
GeomNode *viz_geom);
83 class EXPCL_PANDA_PGRAPHNODES CData : public
CycleData {
86 INLINE CData(
const CData ©);
91 return Spotlight::get_class_type();
94 PN_stdfloat _exponent;
95 LColor _specular_color;
96 LVecBase3 _attenuation;
97 PN_stdfloat _max_distance;
116 static void init_type() {
117 LightLensNode::init_type();
119 LightLensNode::get_class_type());
122 return get_class_type();
124 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
130 INLINE std::ostream &operator << (std::ostream &out,
const Spotlight &light) {
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual PN_stdfloat get_exponent() const
For spotlights, returns the exponent that controls the amount of light falloff from the center of the...
A single page of data maintained by a PipelineCycler.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A class to retrieve the individual data elements previously stored in a Datagram.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
virtual bool get_vector_to_light(LVector3 &result, const LPoint3 &from_object_point, const LMatrix4 &to_object_space)
Computes the vector from a particular vertex to this light.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
Base class for objects that can be written to and read from Bam files.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
virtual PandaNode * make_copy() const
Returns a newly-allocated Node that is a shallow copy of this one.
TypeHandle is the identifier used to differentiate C++ class types.
A node that holds Geom objects, renderable pieces of geometry.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_writ...
This template class calls PipelineCycler::read_unlocked(), and then provides a transparent read-only ...
A light originating from a single point in space, and shining in a particular direction,...
static void register_with_read_factory()
Tells the BamReader how to create objects of type Camera.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void xform(const LMatrix4 &mat)
Transforms the contents of this PandaNode by the indicated matrix, if it means anything to do so.
A derivative of Light and of Camera.
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
A basic node of the scene graph or data graph.