15 #ifndef LIGHTLENSNODE_H
16 #define LIGHTLENSNODE_H
18 #include "pandabase.h"
22 #include "graphicsStateGuardianBase.h"
23 #include "graphicsOutputBase.h"
40 INLINE
bool is_shadow_caster();
41 INLINE
void set_shadow_caster(
bool caster);
42 INLINE
void set_shadow_caster(
bool caster,
int buffer_xsize,
int buffer_ysize,
int sort = -10);
48 void clear_shadow_buffers();
51 int _sb_xsize, _sb_ysize, _sb_sort;
64 virtual void output(ostream &out)
const;
65 virtual void write(ostream &out,
int indent_level = 0)
const;
77 static void init_type() {
80 register_type(_type_handle,
"LightLensNode",
81 Light::get_class_type(),
82 Camera::get_class_type());
85 return get_class_type();
87 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
96 INLINE ostream &operator << (ostream &out,
const LightLensNode &light) {
101 #include "lightLensNode.I"
virtual Light * as_light()
Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.
A basic node of the scene graph or data graph.
The abstract interface to all kinds of lights.
A base class for any number of different kinds of lenses, linear and otherwise.
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 void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
A perspective-type lens: a normal camera.
The ShaderGenerator is a device that effectively replaces the classic fixed function pipeline with a ...
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
A derivative of Light and of Camera.
Encapsulates all the communication with a particular instance of a given rendering backend...
A class to retrieve the individual data elements previously stored in a Datagram. ...
An abstract base class for GraphicsOutput, for all the usual reasons.
TypeHandle is the identifier used to differentiate C++ class types.
A node that can be positioned around in the scene graph to represent a point of view for rendering a ...
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...