Panda3D
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions
RenderEffect Class Reference

This is the base class for a number of special render effects that may be set on scene graph nodes to change the way they render. More...

Inheritance diagram for RenderEffect:
TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject BillboardEffect CharacterJointEffect CompassEffect DecalEffect OccluderEffect PolylightEffect ScissorEffect ShowBoundsEffect TexProjectorEffect

List of all members.

Public Member Functions

int compareTo (RenderEffect const other)
 Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
 output (ostream out)
 write (ostream out, int indent_level)

Static Public Member Functions

static TypeHandle getClassType ()
static int getNumEffects ()
 Returns the total number of unique RenderEffect objects allocated in the world.
static listEffects (ostream out)
 Lists all of the RenderEffects in the cache to the output stream, one per line.
static bool validateEffects ()
 Ensures that the cache is still stored in sorted order.

Detailed Description

This is the base class for a number of special render effects that may be set on scene graph nodes to change the way they render.

This includes BillboardEffect, DecalEffect, etc.

RenderEffect represents render properties that must be applied as soon as they are encountered in the scene graph, rather than propagating down to the leaves. This is different from RenderAttrib, which represents properties like color and texture that don't do anything until they propagate down to a GeomNode.

You should not attempt to create or modify a RenderEffect directly; instead, use the make() method of the appropriate kind of effect you want. This will allocate and return a new RenderEffect of the appropriate type, and it may share pointers if possible. Do not modify the new RenderEffect if you wish to change its properties; instead, create a new one.


Member Function Documentation

int compareTo ( RenderEffect const  other)

Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.

This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

static TypeHandle getClassType ( ) [static]
static int getNumEffects ( ) [static]

Returns the total number of unique RenderEffect objects allocated in the world.

This will go up and down during normal operations.

static listEffects ( ostream  out) [static]

Lists all of the RenderEffects in the cache to the output stream, one per line.

This can be quite a lot of output if the cache is large, so be prepared.

output ( ostream  out)
static bool validateEffects ( ) [static]

Ensures that the cache is still stored in sorted order.

Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write ( ostream  out,
int  indent_level 
)
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties