Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Shader Class Reference

#include <shader.h>

Inheritance diagram for Shader:

ReferenceCount Configurable TypedObject FrustumShader OutlineShader SpheretexShader CasterShader ProjtexShader SpheretexHighlighter PlanarReflector ProjtexShadower SpheretexReflector SpotlightShader List of all members.

Public Member Functions

virtual ~Shader (void)
virtual void pre_apply (Node *, const AllAttributesWrapper &, const AllTransitionsWrapper &, GraphicsStateGuardian *)
virtual void apply (Node *, const AllAttributesWrapper &, const AllTransitionsWrapper &, GraphicsStateGuardian *)
virtual void set_priority (int priority)
virtual int get_priority (void) const
virtual void set_multipass (bool on)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

INLINE Visualizeget_viz (void)
INLINE void set_viz (Visualize *)
TypeHandle get_class_type ()
void init_type ()

Static Public Attributes

Visualize_viz = (Shader::Visualize*)0L

Protected Member Functions

 Shader ()

Protected Attributes

int _priority
bool _multipass_on

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

Shader::Shader  )  [protected]
 

Definition at line 34 of file shader.cxx.

virtual Shader::~Shader void   )  [inline, virtual]
 

Definition at line 54 of file shader.h.


Member Function Documentation

void Shader::apply Node *  ,
const AllAttributesWrapper &  ,
const AllTransitionsWrapper &  ,
GraphicsStateGuardian
[virtual]
 

Reimplemented in OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, SpheretexHighlighter, SpheretexReflector, and SpheretexShader.

Definition at line 64 of file shader.cxx.

References Configurable::config(), and Configurable::is_dirty().

Referenced by SpheretexShader::apply(), SpheretexReflector::apply(), SpheretexHighlighter::apply(), ProjtexShadower::apply(), ProjtexShader::apply(), PlanarReflector::apply(), and OutlineShader::apply().

virtual TypeHandle Shader::force_init_type void   )  [inline, virtual]
 

Reimplemented from Configurable.

Reimplemented in CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, SpheretexHighlighter, SpheretexReflector, SpheretexShader, and SpotlightShader.

Definition at line 97 of file shader.h.

TypeHandle Shader::get_class_type void   )  [inline, static]
 

Reimplemented from ReferenceCount.

Reimplemented in CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, and SpotlightShader.

Definition at line 84 of file shader.h.

Referenced by SpheretexShader::force_init_type(), OutlineShader::force_init_type(), SpheretexShader::get_type(), FrustumShader::get_type(), OutlineShader::get_type(), SpheretexShader::init_type(), FrustumShader::init_type(), and OutlineShader::init_type().

int Shader::get_priority void   )  const [virtual]
 

Definition at line 100 of file shader.cxx.

References _priority.

virtual TypeHandle Shader::get_type void   )  const [inline, virtual]
 

Reimplemented from Configurable.

Reimplemented in CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, and SpotlightShader.

Definition at line 94 of file shader.h.

INLINE Visualize* Shader::get_viz void   )  [static]
 

Referenced by herc_display_func(), setup_vizes(), shader_display_func(), and shader_keys().

void Shader::init_type void   )  [inline, static]
 

Reimplemented from ReferenceCount.

Reimplemented in CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, and SpotlightShader.

Definition at line 87 of file shader.h.

References Configurable::get_class_type(), ReferenceCount::get_class_type(), Configurable::init_type(), ReferenceCount::init_type(), and register_type().

Referenced by ConfigureFn(), SpheretexShader::force_init_type(), OutlineShader::force_init_type(), SpheretexShader::init_type(), FrustumShader::init_type(), and OutlineShader::init_type().

void Shader::pre_apply Node *  ,
const AllAttributesWrapper &  ,
const AllTransitionsWrapper &  ,
GraphicsStateGuardian
[virtual]
 

Reimplemented in PlanarReflector, ProjtexShadower, SpheretexHighlighter, and SpheretexReflector.

Definition at line 77 of file shader.cxx.

void Shader::set_multipass bool  on  )  [virtual]
 

Reimplemented in ProjtexShadower, SpheretexHighlighter, and SpheretexReflector.

Definition at line 112 of file shader.cxx.

References _multipass_on.

Referenced by SpheretexReflector::set_multipass(), SpheretexHighlighter::set_multipass(), and ProjtexShadower::set_multipass().

void Shader::set_priority int  priority  )  [virtual]
 

Reimplemented in ProjtexShadower, SpheretexHighlighter, and SpheretexReflector.

Definition at line 89 of file shader.cxx.

References _priority.

Referenced by SpheretexReflector::set_priority(), SpheretexHighlighter::set_priority(), and ProjtexShadower::set_priority().

INLINE void Shader::set_viz Visualize  )  [static]
 

Referenced by setup_vizes(), and shader_keys().


Member Data Documentation

bool Shader::_multipass_on [protected]
 

Definition at line 50 of file shader.h.

Referenced by PlanarReflector::apply(), SpheretexHighlighter::set_multipass(), and set_multipass().

int Shader::_priority [protected]
 

Definition at line 49 of file shader.h.

Referenced by SpheretexShader::apply(), ProjtexShader::apply(), get_priority(), and set_priority().

TypeHandle Shader::_type_handle [static, private]
 

Reimplemented from ReferenceCount.

Reimplemented in CasterShader, OutlineShader, PlanarReflector, ProjtexShader, ProjtexShadower, FrustumShader, SpheretexHighlighter, SpheretexReflector, SpheretexShader, and SpotlightShader.

Definition at line 23 of file shader.cxx.

Shader::Visualize * Shader::_viz = (Shader::Visualize*)0L [static]
 

Definition at line 26 of file shader.cxx.

Referenced by SpheretexShader::apply(), and ProjtexShader::apply().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:34 2003 for Panda by doxygen1.3