14 #ifndef PROJECTIONSCREEN_H 15 #define PROJECTIONSCREEN_H 61 void set_projector(
const NodePath &projector);
62 INLINE
const NodePath &get_projector()
const;
64 INLINE
void clear_undist_lut();
65 INLINE
void set_undist_lut(
const PfmFile &undist_lut);
66 INLINE
bool has_undist_lut()
const;
67 INLINE
const PfmFile &get_undist_lut()
const;
70 const std::string &screen_name,
71 int num_x_verts,
int num_y_verts,
72 PN_stdfloat distance, PN_stdfloat fill_ratio);
73 void regenerate_screen(
const NodePath &projector,
const std::string &screen_name,
74 int num_x_verts,
int num_y_verts, PN_stdfloat distance,
75 PN_stdfloat fill_ratio);
78 INLINE
void set_texcoord_name(
const std::string &texcoord_name);
79 INLINE std::string get_texcoord_name()
const;
81 INLINE
void set_invert_uvs(
bool invert_uvs);
82 INLINE
bool get_invert_uvs()
const;
84 INLINE
void set_texcoord_3d(
bool texcoord_3d);
85 INLINE
bool get_texcoord_3d()
const;
87 INLINE
void set_vignette_on(
bool vignette_on);
88 INLINE
bool get_vignette_on()
const;
90 INLINE
void set_vignette_color(
const LColor &vignette_color);
91 INLINE
const LColor &get_vignette_color()
const;
92 INLINE
void set_frame_color(
const LColor &frame_color);
93 INLINE
const LColor &get_frame_color()
const;
95 INLINE
void set_auto_recompute(
bool auto_recompute);
96 INLINE
bool get_auto_recompute()
const;
99 INLINE
const UpdateSeq &get_last_screen()
const;
100 bool recompute_if_stale();
101 bool recompute_if_stale(
const NodePath &this_np);
104 void do_recompute(
const NodePath &this_np);
105 void recompute_node(
const WorkingNodePath &np, LMatrix4 &rel_mat,
bool &computed_rel_mat);
106 void recompute_child(
const WorkingNodePath &np, LMatrix4 &rel_mat,
bool &computed_rel_mat);
107 void recompute_geom_node(
const WorkingNodePath &np, LMatrix4 &rel_mat,
bool &computed_rel_mat);
108 void recompute_geom(
Geom *geom,
const LMatrix4 &rel_mat);
113 LMatrix4 &rel_mat,
bool &computed_rel_mat);
116 LMatrix4 &rel_mat,
bool &computed_rel_mat);
120 bool &computed_rel_mat);
121 PT(
Geom) make_mesh_geom(
const Geom *geom,
Lens *lens, LMatrix4 &rel_mat);
126 bool _has_undist_lut;
132 LColor _vignette_color;
135 LMatrix4 _rel_top_mat;
136 bool _computed_rel_top_mat;
140 bool _auto_recompute;
146 static void init_type() {
147 PandaNode::init_type();
149 PandaNode::get_class_type());
152 return get_class_type();
154 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A basic node of the scene graph or data graph.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for any number of different kinds of lenses, linear and otherwise.
A node that contains a Lens.
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.
This collects together the pieces of data that are accumulated for each node while walking the scene ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a class designed to support low-overhead traversals of the complete scene graph,...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Defines a pfm file, a 2-d table of floating-point numbers, either 3-component or 1-component,...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A container for geometry primitives.
A ProjectionScreen implements a simple system for projective texturing.
virtual PandaNode * make_copy() const
Returns a newly-allocated PandaNode that is a shallow copy of this one.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Encodes a string name in a hash table, mapping it to a pointer.
TypeHandle is the identifier used to differentiate C++ class types.
This is a sequence number that increments monotonically.
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,...
A node that holds Geom objects, renderable pieces of geometry.