14#ifndef TEXPROJECTOREFFECT_H
15#define TEXPROJECTOREFFECT_H
49class EXPCL_PANDA_PGRAPH TexProjectorEffect :
public RenderEffect {
51 INLINE TexProjectorEffect();
52 INLINE TexProjectorEffect(
const TexProjectorEffect ©);
55 virtual ~TexProjectorEffect();
58 static CPT(RenderEffect)
make();
71 virtual void output(std::ostream &out)
const;
79 virtual int compare_to_impl(
const RenderEffect *other)
const;
85 INLINE
void set_from(
const NodePath &from);
87 INLINE
void set_lens_index(
int lens_index);
89 INLINE
int compare_to(
const StageDef &other)
const;
100 static CPT(RenderEffect) _empty_effect;
108 static TypedWritable *make_from_bam(
const FactoryParams ¶ms);
115 static void init_type() {
116 RenderEffect::init_type();
118 RenderEffect::get_class_type());
121 return get_class_type();
123 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
This collects together the pieces of data that are accumulated for each node while walking the scene ...
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
A class to retrieve the individual data elements previously stored in a Datagram.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A node that contains a Lens.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
virtual bool has_cull_callback() const
Should be overridden by derived classes to return true if cull_callback() has been defined.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
virtual void cull_callback(CullTraverser *trav, CullTraverserData &data, ConstPointerTo< TransformState > &node_transform, ConstPointerTo< RenderState > &node_state) const
If has_cull_callback() returns true, this function will be called during the cull traversal to perfor...
int compare_to(const RenderEffect &other) const
Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially differ...
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
int get_lens_index(TextureStage *stage) const
Returns the lens_index associated with the TexProjectorEffect on the indicated stage.
static ConstPointerTo< RenderEffect > make()
Constructs a TexProjectorEffect that modifies no stages at all.
bool is_empty() const
Returns true if no stages are defined in the TexProjectorEffect, false if at least one is.
ConstPointerTo< RenderEffect > remove_stage(TextureStage *stage) const
Returns a new TexProjectorEffect just like this one, with the indicated stage removed.
ConstPointerTo< RenderEffect > add_stage(TextureStage *stage, const NodePath &from, const NodePath &to, int lens_index=0) const
Returns a new TexProjectorEffect just like this one, with the indicated projection for the given stag...
NodePath get_to(TextureStage *stage) const
Returns the "to" node associated with the TexProjectorEffect on the indicated stage.
static void register_with_read_factory()
Tells the BamReader how to create objects of type TexProjectorEffect.
bool has_stage(TextureStage *stage) const
Returns true if there is a transform associated with the indicated stage, or false otherwise (in whic...
NodePath get_from(TextureStage *stage) const
Returns the "from" node associated with the TexProjectorEffect on the indicated stage.
Defines the properties of a named stage of the multitexture pipeline.
TypeHandle is the identifier used to differentiate C++ class types.
virtual int complete_pointers(TypedWritable **p_list, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().
This is our own Panda specialization on the default STL list.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.