RenderEffect
-
class RenderEffect
Bases:
TypedWritableReferenceCount
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 aGeomNode
.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.
Inheritance diagram
-
int compare_to(RenderEffect const &other) const
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 equivalentRenderEffect
objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.
-
static TypeHandle get_class_type(void)
-
static int get_num_effects(void)
Returns the total number of unique
RenderEffect
objects allocated in the world. This will go up and down during normal operations.
-
static void list_effects(std::ostream &out)
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.
-
virtual void output(std::ostream &out) const
-
static bool validate_effects(void)
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).
-
virtual void write(std::ostream &out, int indent_level) const
-
int compare_to(RenderEffect const &other) const