Panda3D
|
Renders a particle system with high-speed nasty trick sprites. More...
#include "spriteParticleRenderer.h"
Public Types | |
enum | ParticleRendererAlphaMode { PR_ALPHA_NONE, PR_ALPHA_OUT, PR_ALPHA_IN, PR_ALPHA_IN_OUT, PR_ALPHA_USER, PR_NOT_INITIALIZED_YET } |
enum | ParticleRendererBlendMethod { PP_NO_BLEND, PP_BLEND_LINEAR, PP_BLEND_CUBIC } |
Public Member Functions | |
SpriteParticleRenderer (Texture *tex=(Texture *) NULL) | |
constructor | |
SpriteParticleRenderer (const SpriteParticleRenderer ©) | |
copy constructor | |
virtual | ~SpriteParticleRenderer () |
destructor | |
void | add_from_node (const NodePath &node_path, const string &model, const string &node, bool size_from_texels=false, bool resize=false) |
This will allow the renderer to randomly choose from more than one texture or sequence at particle birth. | |
void | add_from_node (const NodePath &node_path, bool size_from_texels=false, bool resize=false) |
This will allow the renderer to randomly choose from more than one texture or sequence at particle birth. | |
void | add_texture (Texture *tex, float texels_per_unit=1.0f, bool resize=false) |
Adds texture to image pool, effectively creating a single frame animation that can be selected at particle birth. | |
ParticleRendererBlendMethod | get_alpha_blend_method () const |
bool | get_alpha_disable () const |
ParticleRendererAlphaMode | get_alpha_mode () const |
SpriteAnim * | get_anim (const int n) const |
bool | get_anim_angle_flag () const |
bool | get_animate_frames_enable () const |
int | get_animate_frames_index () const |
float | get_animate_frames_rate () const |
Colorf | get_color () const |
ColorInterpolationManager * | get_color_interpolation_manager () const |
float | get_final_x_scale () const |
float | get_final_y_scale () const |
float | get_height () const |
Returns the height of each particle in world units. | |
bool | get_ignore_scale () const |
Returns the "ignore scale" flag. | |
float | get_initial_x_scale () const |
float | get_initial_y_scale () const |
SpriteAnim * | get_last_anim () const |
TexCoordf | get_ll_uv () const |
Returns the UV coordinate of the lower-left corner; see set_ll_uv(). | |
TexCoordf | get_ll_uv (const int anim, const int frame) const |
Returns the UV coordinate of the lower-left corner; see set_ll_uv(). | |
float | get_nonanimated_theta () const |
int | get_num_anims () const |
int | get_ref_count () const |
Returns the current reference count. | |
GeomNode * | get_render_node () const |
Query the geomnode pointer. | |
NodePath | get_render_node_path () const |
Query the geomnode pointer. | |
Texture * | get_texture (const int anim, const int frame) const |
Texture * | get_texture () const |
TexCoordf | get_ur_uv (const int anim, const int frame) const |
Returns the UV coordinate of the upper-right corner; see set_ur_uv(). | |
TexCoordf | get_ur_uv () const |
Returns the UV coordinate of the lower-left corner; see set_ur_uv(). | |
float | get_user_alpha () const |
gets alpha for "user" alpha mode | |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. | |
float | get_width () const |
Returns the width of each particle in world units. | |
bool | get_x_scale_flag () const |
bool | get_y_scale_flag () const |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. | |
virtual BaseParticleRenderer * | make_copy () |
child dynamic copy | |
MAKE_SEQ (get_anims, get_num_anims, get_anim) | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
virtual void | output (ostream &out) const |
Write a string representation of this instance to <out>. | |
void | ref () const |
Explicitly increments the reference count. | |
void | remove_animation (const int n) |
Removes an animation texture set from the renderer. | |
void | set_alpha_blend_method (ParticleRendererBlendMethod bm) |
void | set_alpha_disable (bool ad) |
void | set_alpha_mode (ParticleRendererAlphaMode am) |
void | set_anim_angle_flag (bool animate_theta) |
void | set_animate_frames_enable (bool an) |
void | set_animate_frames_index (int i) |
void | set_animate_frames_rate (float r) |
void | set_color (const Colorf &color) |
void | set_color_blend_mode (ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa=ColorBlendAttrib::O_zero, ColorBlendAttrib::Operand ob=ColorBlendAttrib::O_zero) |
sets the ColorBlendAttrib on the _render_node | |
void | set_final_x_scale (float final_x_scale) |
void | set_final_y_scale (float final_y_scale) |
void | set_from_node (const NodePath &node_path, const string &model, const string &node, bool size_from_texels=false) |
If the source type is important, use this one. | |
void | set_from_node (const NodePath &node_path, bool size_from_texels=false) |
Sets the properties on this renderer from the geometry referenced by the indicated NodePath. | |
void | set_ignore_scale (bool ignore_scale) |
Sets the "ignore scale" flag. | |
void | set_initial_x_scale (float initial_x_scale) |
void | set_initial_y_scale (float initial_y_scale) |
void | set_ll_uv (const TexCoordf &ll_uv) |
Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer. | |
void | set_ll_uv (const TexCoordf &ll_uv, const int anim, const int frame) |
Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer. | |
void | set_nonanimated_theta (float theta) |
void | set_size (float width, float height) |
Sets the size of each particle in world units. | |
void | set_texture (Texture *tex, float texels_per_unit=1.0f) |
Sets the renderer up to render the entire texture image. | |
void | set_ur_uv (const TexCoordf &ur_uv) |
Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer. | |
void | set_ur_uv (const TexCoordf &ur_uv, const int anim, const int frame) |
Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer. | |
void | set_user_alpha (float ua) |
sets alpha for "user" alpha mode | |
void | set_x_scale_flag (bool animate_x_ratio) |
void | set_y_scale_flag (bool animate_y_ratio) |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
virtual bool | unref () const |
Explicitly decrements the reference count. | |
void | weak_ref (WeakPointerToVoid *ptv) |
Adds the indicated PointerToVoid as a weak reference to this object. | |
void | weak_unref (WeakPointerToVoid *ptv) |
Removes the indicated PointerToVoid as a weak reference to this object. | |
virtual void | write (ostream &out, int indent_level=0) const |
Write a string representation of this instance to <out>. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Protected Member Functions | |
CPT (RenderState) _render_state | |
void | disable_alpha () |
kills the intermediate alpha node/arc | |
bool | do_test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | do_test_ref_count_nonzero () const |
Returns true if the reference count is nonzero, false otherwise. | |
void | enable_alpha () |
Builds an intermediate node and transition that enables alpha channeling. | |
float | get_cur_alpha (BaseParticle *bp) |
gets current alpha for a particle | |
void | update_alpha_mode (ParticleRendererAlphaMode am) |
handles the base class part of alpha updating. | |
Protected Attributes | |
ParticleRendererAlphaMode | _alpha_mode |
Renders a particle system with high-speed nasty trick sprites.
Definition at line 161 of file spriteParticleRenderer.h.
constructor
Definition at line 42 of file spriteParticleRenderer.cxx.
References set_texture().
Referenced by make_copy().
SpriteParticleRenderer::SpriteParticleRenderer | ( | const SpriteParticleRenderer & | copy | ) |
copy constructor
Definition at line 75 of file spriteParticleRenderer.cxx.
SpriteParticleRenderer::~SpriteParticleRenderer | ( | ) | [virtual] |
destructor
Definition at line 109 of file spriteParticleRenderer.cxx.
References BaseParticleRenderer::get_render_node(), and GeomNode::remove_all_geoms().
void SpriteParticleRenderer::add_from_node | ( | const NodePath & | node_path, |
bool | size_from_texels = false , |
||
bool | resize = false |
||
) |
This will allow the renderer to randomly choose from more than one texture or sequence at particle birth.
If resize is true, or if there are no textures currently on the renderer, it will force the renderer to use the size information from this node from now on. (Default is false)
Definition at line 289 of file spriteParticleRenderer.cxx.
References GeomNode::get_num_geoms(), Geom::get_num_primitives(), GeomPrimitive::get_num_vertices(), GeomPrimitive::get_vertex(), NodePath::is_empty(), and set_size().
Referenced by add_from_node(), and set_from_node().
void SpriteParticleRenderer::add_from_node | ( | const NodePath & | node_path, |
const string & | model, | ||
const string & | node, | ||
bool | size_from_texels = false , |
||
bool | resize = false |
||
) |
This will allow the renderer to randomly choose from more than one texture or sequence at particle birth.
If the source type is important, use this one.
model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node)
If resize is true, or if there are no textures currently on the renderer, it will force the renderer to use the size information from this node from now on. (Default is false)
Definition at line 266 of file spriteParticleRenderer.cxx.
References add_from_node().
void SpriteParticleRenderer::add_texture | ( | Texture * | tex, |
float | texels_per_unit = 1.0f , |
||
bool | resize = false |
||
) | [inline] |
Adds texture to image pool, effectively creating a single frame animation that can be selected at particle birth.
This should only be called after a previous call to set_texture().
Definition at line 53 of file spriteParticleRenderer.I.
References Texture::get_filename(), Texture::get_x_size(), Texture::get_y_size(), set_size(), and set_texture().
void BaseParticleRenderer::disable_alpha | ( | ) | [protected, inherited] |
kills the intermediate alpha node/arc
Definition at line 154 of file baseParticleRenderer.cxx.
Referenced by BaseParticleRenderer::update_alpha_mode().
bool ReferenceCount::do_test_ref_count_integrity | ( | ) | const [protected, inherited] |
Does some easy checks to make sure that the reference count isn't completely bogus.
Returns true if ok, false otherwise.
Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.
Definition at line 29 of file referenceCount.cxx.
Referenced by ReferenceCount::do_test_ref_count_nonzero(), and ReferenceCount::test_ref_count_integrity().
bool ReferenceCount::do_test_ref_count_nonzero | ( | ) | const [protected, inherited] |
Returns true if the reference count is nonzero, false otherwise.
Definition at line 56 of file referenceCount.cxx.
References ReferenceCount::do_test_ref_count_integrity().
Referenced by ReferenceCount::test_ref_count_nonzero().
void BaseParticleRenderer::enable_alpha | ( | ) | [protected, inherited] |
Builds an intermediate node and transition that enables alpha channeling.
Definition at line 143 of file baseParticleRenderer.cxx.
Referenced by BaseParticleRenderer::update_alpha_mode().
float BaseParticleRenderer::get_cur_alpha | ( | BaseParticle * | bp | ) | [inline, protected, inherited] |
gets current alpha for a particle
Definition at line 109 of file baseParticleRenderer.I.
float SpriteParticleRenderer::get_height | ( | ) | const [inline] |
Returns the height of each particle in world units.
Definition at line 404 of file spriteParticleRenderer.I.
bool BaseParticleRenderer::get_ignore_scale | ( | ) | const [inline, inherited] |
Returns the "ignore scale" flag.
See set_ignore_scale().
Definition at line 99 of file baseParticleRenderer.I.
TexCoordf SpriteParticleRenderer::get_ll_uv | ( | ) | const [inline] |
Returns the UV coordinate of the lower-left corner; see set_ll_uv().
Definition at line 347 of file spriteParticleRenderer.I.
TexCoordf SpriteParticleRenderer::get_ll_uv | ( | const int | anim, |
const int | frame | ||
) | const [inline] |
Returns the UV coordinate of the lower-left corner; see set_ll_uv().
Definition at line 358 of file spriteParticleRenderer.I.
int ReferenceCount::get_ref_count | ( | ) | const [inline, inherited] |
Returns the current reference count.
Definition at line 155 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by TransformState::clear_cache(), RenderState::clear_cache(), RenderState::finalize(), RenderEffects::finalize(), RenderEffect::finalize(), RenderAttrib::finalize(), InternalName::finalize(), TransformState::get_num_unused_states(), RenderState::get_num_unused_states(), TransformState::list_cycles(), RenderState::list_cycles(), GeomVertexFormat::remove_column(), TransformState::unref(), RenderState::unref(), RenderState::~RenderState(), and TransformState::~TransformState().
GeomNode * BaseParticleRenderer::get_render_node | ( | ) | const [inline, inherited] |
Query the geomnode pointer.
Definition at line 21 of file baseParticleRenderer.I.
Referenced by ~SpriteParticleRenderer().
NodePath BaseParticleRenderer::get_render_node_path | ( | ) | const [inline, inherited] |
Query the geomnode pointer.
Definition at line 31 of file baseParticleRenderer.I.
TexCoordf SpriteParticleRenderer::get_ur_uv | ( | ) | const [inline] |
Returns the UV coordinate of the lower-left corner; see set_ur_uv().
Definition at line 371 of file spriteParticleRenderer.I.
TexCoordf SpriteParticleRenderer::get_ur_uv | ( | const int | anim, |
const int | frame | ||
) | const [inline] |
Returns the UV coordinate of the upper-right corner; see set_ur_uv().
Definition at line 382 of file spriteParticleRenderer.I.
float BaseParticleRenderer::get_user_alpha | ( | ) | const [inline, inherited] |
gets alpha for "user" alpha mode
Definition at line 70 of file baseParticleRenderer.I.
WeakReferenceList * ReferenceCount::get_weak_list | ( | ) | const [inline, inherited] |
Returns the WeakReferenceList associated with this ReferenceCount object.
If there has never been a WeakReferenceList associated with this object, creates one now.
Definition at line 307 of file referenceCount.I.
Referenced by ReferenceCount::weak_ref().
float SpriteParticleRenderer::get_width | ( | ) | const [inline] |
Returns the width of each particle in world units.
Definition at line 394 of file spriteParticleRenderer.I.
bool ReferenceCount::has_weak_list | ( | ) | const [inline, inherited] |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
In general, this will be true if there was ever a WeakPointerTo created for this object (even if there is not any for it now).
Definition at line 294 of file referenceCount.I.
Referenced by ReferenceCount::weak_unref().
void ReferenceCount::local_object | ( | ) | [inline, inherited] |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
This allows the object to be passed to functions that will increment and decrement the object's reference count temporarily, and it will prevent the object from being deleted (inappropriately), when the reference count returns to zero. It actually achieves this by setting a large positive value in the reference count field.
Definition at line 276 of file referenceCount.I.
Referenced by PGTop::cull_callback(), BoundingSphere::extend_by_hexahedron(), AsyncTaskManager::find_task(), AsyncTaskManager::find_tasks(), and AsyncTaskManager::find_tasks_matching().
BaseParticleRenderer * SpriteParticleRenderer::make_copy | ( | ) | [virtual] |
child dynamic copy
Implements BaseParticleRenderer.
Definition at line 119 of file spriteParticleRenderer.cxx.
References SpriteParticleRenderer().
void SpriteParticleRenderer::output | ( | ostream & | out | ) | const [virtual] |
Write a string representation of this instance to <out>.
Reimplemented from BaseParticleRenderer.
Definition at line 783 of file spriteParticleRenderer.cxx.
void ReferenceCount::ref | ( | ) | const [inline, inherited] |
Explicitly increments the reference count.
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
Definition at line 179 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by CachedTypedWritableReferenceCount::cache_ref(), TypedWritable::decode_raw_from_bam_stream(), NodeCachedReferenceCount::node_ref(), NodeReferenceCount::node_ref(), BamCacheRecord::set_data(), CullableObject::set_draw_callback(), and ModelRoot::set_reference().
void SpriteParticleRenderer::remove_animation | ( | const int | n | ) | [inline] |
Removes an animation texture set from the renderer.
Definition at line 78 of file spriteParticleRenderer.I.
void BaseParticleRenderer::set_color_blend_mode | ( | ColorBlendAttrib::Mode | bm, |
ColorBlendAttrib::Operand | oa = ColorBlendAttrib::O_zero , |
||
ColorBlendAttrib::Operand | ob = ColorBlendAttrib::O_zero |
||
) | [inline, inherited] |
sets the ColorBlendAttrib on the _render_node
Definition at line 80 of file baseParticleRenderer.I.
void SpriteParticleRenderer::set_from_node | ( | const NodePath & | node_path, |
bool | size_from_texels = false |
||
) |
Sets the properties on this renderer from the geometry referenced by the indicated NodePath.
This should be a reference to a GeomNode or a SequenceNode; it extracts out the texture and UV range from the node.
This will remove all previously added textures and animations. It will also resize the renderer to match this new geometry.
If node_path refers to a GeomNode(or has one beneath it) the texture, its size, and UV data will be extracted from that.
If node_path references a SequenceNode(or has one beneath it) with multiple GeomNodes beneath it, the size data will correspond only to the first GeomNode found with a valid texture, while the texture and UV information will be stored for each individual node.
If size_from_texels is true, the particle size is based on the number of texels in the source image; otherwise, it is based on the size of the first polygon found in the node.
model and node are the two items used to construct node_path. If the source type is important, use set_from_node(NodePath,string,string,bool) instead.
Definition at line 241 of file spriteParticleRenderer.cxx.
References add_from_node(), and NodePath::is_empty().
void SpriteParticleRenderer::set_from_node | ( | const NodePath & | node_path, |
const string & | model, | ||
const string & | node, | ||
bool | size_from_texels = false |
||
) |
If the source type is important, use this one.
model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node)
This will remove all previously add textures and resize the renderer to match the new geometry.
Definition at line 202 of file spriteParticleRenderer.cxx.
References add_from_node().
void BaseParticleRenderer::set_ignore_scale | ( | bool | ignore_scale | ) | [inherited] |
Sets the "ignore scale" flag.
When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.
Definition at line 79 of file baseParticleRenderer.cxx.
Referenced by BaseParticleRenderer::BaseParticleRenderer().
void SpriteParticleRenderer::set_ll_uv | ( | const TexCoordf & | ll_uv | ) | [inline] |
Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer.
Normally this is (0, 0), but it might be set to something else to use only a portion of the texture.
Definition at line 102 of file spriteParticleRenderer.I.
void SpriteParticleRenderer::set_ll_uv | ( | const TexCoordf & | ll_uv, |
const int | anim, | ||
const int | frame | ||
) | [inline] |
Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer.
Normally this is (0, 0), but it might be set to something else to use only a portion of the texture.
Definition at line 115 of file spriteParticleRenderer.I.
void SpriteParticleRenderer::set_size | ( | float | width, |
float | height | ||
) | [inline] |
Sets the size of each particle in world units.
Definition at line 155 of file spriteParticleRenderer.I.
Referenced by add_from_node(), add_texture(), and set_texture().
void SpriteParticleRenderer::set_texture | ( | Texture * | tex, |
float | texels_per_unit = 1.0f |
||
) | [inline] |
Sets the renderer up to render the entire texture image.
The scale of each particle is based on the size of the texture in each dimension, modified by texels_per_unit.
Used to set the size of the particles. Will clear all previously loaded textures and animations.
Definition at line 28 of file spriteParticleRenderer.I.
References Texture::get_filename(), Texture::get_x_size(), Texture::get_y_size(), and set_size().
Referenced by add_texture(), and SpriteParticleRenderer().
void SpriteParticleRenderer::set_ur_uv | ( | const TexCoordf & | ur_uv, |
const int | anim, | ||
const int | frame | ||
) | [inline] |
Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer.
Normally this is (1, 1), but it might be set to something else to use only a portion of the texture.
Definition at line 143 of file spriteParticleRenderer.I.
void SpriteParticleRenderer::set_ur_uv | ( | const TexCoordf & | ur_uv | ) | [inline] |
Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer.
Normally this is (1, 1), but it might be set to something else to use only a portion of the texture.
Definition at line 130 of file spriteParticleRenderer.I.
void BaseParticleRenderer::set_user_alpha | ( | float | ua | ) | [inline, inherited] |
sets alpha for "user" alpha mode
Definition at line 60 of file baseParticleRenderer.I.
bool ReferenceCount::test_ref_count_integrity | ( | ) | const [inline, inherited] |
Does some easy checks to make sure that the reference count isn't completely bogus.
Returns true if ok, false otherwise.
Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.
Definition at line 236 of file referenceCount.I.
References ReferenceCount::do_test_ref_count_integrity().
Referenced by EggGroupNode::add_child(), InternalName::find_ancestor(), InternalName::get_ancestor(), ReferenceCount::get_ref_count(), InternalName::get_top(), ReferenceCount::ref(), EggVertex::test_gref_integrity(), EggVertex::test_pref_integrity(), EggNode::test_under_integrity(), EggPrimitive::test_vref_integrity(), EggGroup::test_vref_integrity(), MouseWatcher::throw_event_pattern(), ReferenceCount::unref(), and EggNode::update_under().
bool ReferenceCount::test_ref_count_nonzero | ( | ) | const [inline, inherited] |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
Returns true if ok, false otherwise.
Definition at line 252 of file referenceCount.I.
References ReferenceCount::do_test_ref_count_nonzero().
Referenced by CopyOnWritePointer::test_ref_count_nonzero().
bool ReferenceCount::unref | ( | ) | const [inline, virtual, inherited] |
Explicitly decrements the reference count.
Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.
Reimplemented in GeomVertexArrayFormat, GeomVertexFormat, InternalName, RenderAttrib, RenderEffects, RenderState, and TransformState.
Definition at line 214 of file referenceCount.I.
References ReferenceCount::test_ref_count_integrity().
Referenced by CachedTypedWritableReferenceCount::cache_unref(), TypedWritable::decode_raw_from_bam_stream(), RenderEffect::finalize(), NodeCachedReferenceCount::node_unref(), NodeReferenceCount::node_unref(), TransformState::unref(), RenderState::unref(), RenderEffects::unref(), RenderAttrib::unref(), InternalName::unref(), GeomVertexFormat::unref(), and GeomVertexArrayFormat::unref().
void BaseParticleRenderer::update_alpha_mode | ( | ParticleRendererAlphaMode | am | ) | [protected, inherited] |
handles the base class part of alpha updating.
Definition at line 124 of file baseParticleRenderer.cxx.
References BaseParticleRenderer::disable_alpha(), and BaseParticleRenderer::enable_alpha().
Referenced by BaseParticleRenderer::BaseParticleRenderer().
void ReferenceCount::weak_ref | ( | WeakPointerToVoid * | ptv | ) | [inline, inherited] |
Adds the indicated PointerToVoid as a weak reference to this object.
Definition at line 321 of file referenceCount.I.
References WeakReferenceList::add_reference(), and ReferenceCount::get_weak_list().
void ReferenceCount::weak_unref | ( | WeakPointerToVoid * | ptv | ) | [inline, inherited] |
Removes the indicated PointerToVoid as a weak reference to this object.
It must have previously been added via a call to weak_ref().
Definition at line 334 of file referenceCount.I.
References WeakReferenceList::clear_reference(), and ReferenceCount::has_weak_list().
void SpriteParticleRenderer::write | ( | ostream & | out, |
int | indent_level = 0 |
||
) | const [virtual] |
Write a string representation of this instance to <out>.
Reimplemented from BaseParticleRenderer.
Definition at line 796 of file spriteParticleRenderer.cxx.