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
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
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.
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
RenderEffectclass because all equivalent
RenderEffectobjects 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
RenderEffectobjects allocated in the world. This will go up and down during normal operations.
static void list_effects(std::ostream &out)
Lists all of the
RenderEffectsin 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
virtual void write(std::ostream &out, int indent_level) const
- int compare_to(RenderEffect const &other) const