Go to the documentation of this file.
14 #ifndef LIGHTLENSNODE_H
15 #define LIGHTLENSNODE_H
38 INLINE
bool has_specular_color()
const;
40 INLINE
bool is_shadow_caster()
const;
41 void set_shadow_caster(
bool caster);
42 void set_shadow_caster(
bool caster,
int buffer_xsize,
int buffer_ysize,
int sort = -10);
44 INLINE
int get_shadow_buffer_sort()
const;
46 INLINE LVecBase2i get_shadow_buffer_size()
const;
47 INLINE
void set_shadow_buffer_size(
const LVecBase2i &size);
52 MAKE_PROPERTY(shadow_caster, is_shadow_caster);
53 MAKE_PROPERTY(shadow_buffer_size, get_shadow_buffer_size, set_shadow_buffer_size);
56 INLINE
void mark_used_by_auto_shader()
const;
60 void clear_shadow_buffers();
61 virtual void setup_shadow_map();
65 bool _has_specular_color;
67 mutable bool _used_by_auto_shader =
false;
77 AtomicAdjust::Integer _attrib_count;
89 virtual void output(std::ostream &out)
const;
90 virtual void write(std::ostream &out,
int indent_level = 0)
const;
102 static void init_type() {
106 Light::get_class_type(),
107 Camera::get_class_type());
110 return get_class_type();
112 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
120 INLINE std::ostream &operator << (std::ostream &out,
const LightLensNode &light) {
A node that can be positioned around in the scene graph to represent a point of view for rendering a ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A class to retrieve the individual data elements previously stored in a Datagram.
This is our own Panda specialization on the default STL map.
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 ...
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
The abstract interface to all kinds of lights.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void attrib_unref()
This is called when the light is removed from a LightAttrib.
A base class for any number of different kinds of lenses, linear and otherwise.
A perspective-type lens: a normal camera.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void attrib_ref()
This is called when the light is added to a LightAttrib.
An abstract base class for GraphicsOutput, for all the usual reasons.
virtual Light * as_light()
Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes,...
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...
Encapsulates all the communication with a particular instance of a given rendering backend.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
A basic node of the scene graph or data graph.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.